private static Map<String, PsiClass> doGetSuperClassesWithCache(@NotNull PsiClass aClass) {
    Set<PsiClass> superClasses = new LinkedHashSet<>();
    superClasses.add(aClass);
    InheritanceUtil.getSuperClasses(aClass, superClasses, true);

    Map<String, PsiClass> superClassNames = new LinkedHashMap<>();
    for (PsiClass superClass : superClasses) {
      superClassNames.put(superClass.getQualifiedName(), superClass);
    }
    return superClassNames;
  }
private static Map<String, PsiClass> doGetSuperClassesWithCache(@NotNull PsiClass aClass)