@NotNull
    private static Set<String> getAllInheritedAttributeNames(@NotNull PyClass candidate,
                                                             @NotNull TypeEvalContext context,
                                                             @NotNull Map<PyClass, Set<PyClass>> ancestorsCache) {
      final Set<String> availableAttrs = Sets.newHashSet(PyClassAttributesIndex.getAllDeclaredAttributeNames(candidate));
      for (PyClass parent : getAncestorClassesFast(candidate, context, ancestorsCache)) {
        availableAttrs.addAll(PyClassAttributesIndex.getAllDeclaredAttributeNames(parent));
      }
      return availableAttrs;
    }
@NotNull
    private static Set<String> getAllInheritedAttributeNames(@NotNull PyClass candidate,
                                                             @NotNull TypeEvalContext context,
                                                             @NotNull Map<PyClass, Set<PyClass>> ancestorsCache)