@Override
      public void visitMethod(@NotNull PsiMethod method) {
        if (method.getNameIdentifier() == null || method.isConstructor()) {
          return;
        }
        if (method.hasModifierProperty(PsiModifier.PRIVATE) || method.hasModifierProperty(PsiModifier.STATIC)) {
          return;
        }
        final PsiClass methodClass = method.getContainingClass();
        if (methodClass == null) {
          return;
        }
        if (ignoreObjectMethods &&
            (MethodUtils.isHashCode(method) || MethodUtils.isEquals(method) || MethodUtils.isToString(method))) {
          return;
        }

        final boolean annotateMethod = isMissingOverride(method);
        final boolean annotateHierarchy = warnInSuper && isMissingOverrideInOverriders(method);
        if (annotateMethod || annotateHierarchy) {
          registerMethodError(method, annotateMethod, annotateHierarchy);
        }
      }
@Override
      public void visitMethod(@NotNull PsiMethod method)