void (@NotNull PsiMethod method) { if (method.hasModifierProperty(PsiModifier.STATIC)) { return; } final String name = method.getName(); if (!HardcodedMethodConstants.EQUALS.equals(name)) { return; } final PsiParameterList parameterList = method.getParameterList(); if (parameterList.getParametersCount() != 1) { return; } final PsiParameter[] parameters = parameterList.getParameters(); if (parameters.length != 1) return; final PsiType argType = parameters[0].getType(); if (TypeUtils.isJavaLangObject(argType)) { return; } final PsiClass aClass = method.getContainingClass(); if (aClass == null) { return; } final PsiMethod[] methods = aClass.findMethodsByName("equals", false); for (PsiMethod method1 : methods) { if (MethodUtils.isEquals(method1)) { return; } } if (MethodUtils.hasSuper(method)) { return; } registerMethodError(method); }