void (@NotNull PsiClass aClass) { // no call to super, so that it doesn't drill down to inner classes if (aClass.isInterface() || aClass.isAnnotationType()) { return; } if (!aClass.hasModifierProperty(PsiModifier.ABSTRACT)) { return; } final PsiClass superClass = aClass.getSuperClass(); if (superClass == null) { return; } if (superClass.hasModifierProperty(PsiModifier.ABSTRACT)) { return; } final String superclassName = superClass.getQualifiedName(); if (CommonClassNames.JAVA_LANG_OBJECT.equals(superclassName)) { return; } registerClassError(aClass); }