Kind (String className, String methodName, int dimensions) { final boolean isJavaUtilObjects = CommonClassNames.JAVA_UTIL_OBJECTS.equals(className); final boolean isJavaUtilArrays = CommonClassNames.JAVA_UTIL_ARRAYS.equals(className); final boolean isEquals = HardcodedMethodConstants.EQUALS.equals(methodName); final boolean isHashCode = HardcodedMethodConstants.HASH_CODE.equals(methodName); if (isJavaUtilObjects && isEquals) { return dimensions > 1 ? Kind.TO_DEEP_EQUALS : Kind.TO_EQUALS; } else if (isJavaUtilArrays && dimensions > 1) { if (isEquals) { return Kind.TO_DEEP_EQUALS; } else if (isHashCode) { return Kind.TO_DEEP_HASH_CODE; } } return null; }