void (@NotNull PsiMethod method) { super.visitMethod(method); if (!CloneUtils.isClone(method)) { return; } if (method.hasModifierProperty(PsiModifier.FINAL) || method.hasModifierProperty(PsiModifier.ABSTRACT)) { return; } final PsiClass containingClass = method.getContainingClass(); if (containingClass == null) { return; } if (containingClass.hasModifierProperty(PsiModifier.FINAL) || containingClass.isInterface()) { return; } registerMethodError(method); }