boolean (PsiClass psiClass) { if (getMethod(psiClass, false) != null || isSuperClassForBaseClass(psiClass)) { return false; } if (hasBaseClassMethod(psiClass) || isAbstract(psiClass)) { for (PsiClass subclass : getSubclasses(psiClass)) { if (!shouldHideClass(subclass)) { return false; } } return true; } return false; }