boolean (@NotNull final PsiClass candidateClass, @NotNull PsiClass baseClass, final boolean checkDeep) { if (baseClass instanceof PsiAnonymousClass || baseClass.getManager().areElementsEquivalent(baseClass, candidateClass)) return false; if (!checkDeep) { return isInheritor(candidateClass.getManager(), candidateClass, baseClass, false, null); } GlobalSearchScope scope = candidateClass.getResolveScope(); return JavaClassSupers.getInstance().getSuperClassSubstitutor(baseClass, candidateClass, scope, PsiSubstitutor.EMPTY) != null; }