void (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); } } }