List<PsiClass> (@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) { if (shouldUseSlowResolve()) { return Arrays.asList(findClassesInDumbMode(qualifiedName, scope)); } List<PsiElementFinder> finders = filteredFinders(); Predicate<PsiClass> classesFilter = getFilterFromFinders(scope, finders); List<PsiClass> result = null; for (PsiElementFinder finder : finders) { PsiClass[] finderClasses = finder.findClasses(qualifiedName, scope); if (finderClasses.length != 0) { if (result == null) result = new ArrayList<>(finderClasses.length); filterClassesAndAppend(finder, classesFilter, finderClasses, result); } } return result == null ? Collections.emptyList() : result; }