code: public static MethodValidationState isValidConfigInterfaceMethod(Method method)
      {
          if (method.isDefault()) {
              log.debug("Method {} found to be a default method.", method.getName());
              return MethodValidationState.IS_DEFAULT;
          }
          if (method.getParameterCount() > 0) {
              log.warn("Method {} may not have parameters, but found to have {}", method.getName(), method.getParameterCount());
              return MethodValidationState.BAD_SIGNATURE;
          }
  
          // If method is an Observable
          if (Observable.class.isAssignableFrom(method.getReturnType())) {
              return isValidObservableReturningMethod(method);
          }
          return isValidNonObservableMethod(method);
      }
docs: Validates that a given method from a config interface has a valid signature.
  NOTE: Code that uses this method may also need to validate that the Guice Injector has a registered type
  converter for the return type.
  
  @param method a method reference to validate
  @return a {@link MethodValidationState} based on the method provided.