private boolean highlightAsAttribute(@NotNull PyQualifiedExpression node, @NotNull String name) {
    final LanguageLevel languageLevel = LanguageLevel.forElement(node);
    if (PyNames.UNDERSCORED_ATTRIBUTES.contains(name) || PyNames.getBuiltinMethods(languageLevel).containsKey(name)) {
      // things like __len__: foo.__len__ or class Foo: ... __len__ = my_len_impl
      if (node.isQualified() || ScopeUtil.getScopeOwner(node) instanceof PyClass) {
        final ASTNode astNode = node.getNode();
        if (astNode != null) {
          final ASTNode tgt = astNode.findChildByType(PyTokenTypes.IDENTIFIER); // only the id, not all qualifiers subtree
          if (tgt != null) {
            addHighlightingAnnotation(tgt, PyHighlighter.PY_PREDEFINED_USAGE);
            return true;
          }
        }
      }
    }
    return false;
  }
private boolean highlightAsAttribute(@NotNull PyQualifiedExpression node, @NotNull String name)