docs: static ObjectMethod objectMethodToOverride(ExecutableElement method) {
      String name = method.getSimpleName().toString();
      switch (method.getParameters().size()) {
        case 0:
          if (name.equals("toString")) {
            return ObjectMethod.TO_STRING;
          } else if (name.equals("hashCode")) {
            return ObjectMethod.HASH_CODE;
          }
          break;
        case 1:
          if (name.equals("equals")) {
            TypeMirror param = getOnlyElement(method.getParameters()).asType();
            if (param.getKind().equals(TypeKind.DECLARED)) {
              TypeElement paramType = MoreTypes.asTypeElement(param);
              if (paramType.getQualifiedName().contentEquals("java.lang.Object")) {
                return ObjectMethod.EQUALS;
              }
            }
          }
          break;
        default:
          // No relevant Object methods have more than one parameter.
      }
      return ObjectMethod.NONE;
    }