boolean (@NotNull PsiClass aClass, PsiSubstitutor substitutor, @NotNull PsiElementFactory factory, @NotNull LanguageLevel languageLevel, GlobalSearchScope resolveScope, PairProcessor<? super PsiClass, ? super PsiSubstitutor> processor) { boolean resolved = false; for (PsiClassType.ClassResolveResult superTypeResolveResult : getScopeCorrectedSuperTypes(aClass, resolveScope)) { PsiClass superClass = superTypeResolveResult.getElement(); assert superClass != null; PsiSubstitutor finalSubstitutor = obtainFinalSubstitutor(superClass, superTypeResolveResult.getSubstitutor(), aClass, substitutor, factory, languageLevel); if (!processor.process(superClass, finalSubstitutor)) { resolved = true; } } return !resolved; }