public static PsiClass @NotNull [] getLeastUpperClasses(PsiClass aClass, PsiClass bClass) {
    if (InheritanceUtil.isInheritorOrSelf(aClass, bClass, true)) return new PsiClass[]{bClass};
    Set<PsiClass> supers = new LinkedHashSet<>();
    Set<PsiClass> visited = new HashSet<>();
    getLeastUpperClassesInner(aClass, bClass, supers, visited);
    return supers.toArray(PsiClass.EMPTY_ARRAY);
  }
public static PsiClass @NotNull [] getLeastUpperClasses(PsiClass aClass, PsiClass bClass)