private static void getSuperClassesOfList(PsiClassType @NotNull [] types,
                                              @NotNull Set<? super PsiClass> results,
                                              boolean includeNonProject,
                                              @NotNull Set<? super PsiClass> visited,
                                              @NotNull PsiManager manager) {
    for (PsiClassType type : types) {
      PsiClass resolved = type.resolve();
      if (resolved != null && visited.add(resolved)) {
        if (includeNonProject || manager.isInProject(resolved)) {
          results.add(resolved);
        }
        getSuperClassesOfList(resolved.getSuperTypes(), results, includeNonProject, visited, manager);
      }
    }
  }
private static void getSuperClassesOfList(PsiClassType @NotNull [] types,
                                              @NotNull Set<? super PsiClass> results,
                                              boolean includeNonProject,
                                              @NotNull Set<? super PsiClass> visited,
                                              @NotNull PsiManager manager)