void (@NotNull PsiMember member) { if (!member.hasModifierProperty(PsiModifier.PROTECTED)) { return; } final PsiClass containingClass = member.getContainingClass(); if (containingClass == null || !containingClass.hasModifierProperty(PsiModifier.FINAL)) { return; } if (member instanceof PsiMethod && !((PsiMethod)member).isConstructor() && !PsiSuperMethodImplUtil.getHierarchicalMethodSignature((PsiMethod)member).getSuperSignatures().isEmpty()) { return; } registerModifierError(PsiModifier.PROTECTED, member); }