@Override public <V>MethodVault<V> newMethod(Class<?> type,String methodName,Class<?>[] paramTypes){
  Objects.requireNonNull(type);
  MethodVault<V> method=newMethodRec(type,methodName,paramTypes);
  if (method != null) {
    return method;
  }
  throw new IllegalStateException(L.l("Unknown method {0}.{1} {2}",type.getSimpleName(),methodName,Arrays.asList(paramTypes)));
}

@ Override public < V > MethodVault < V > newMethod ( Class < ? > type , String methodName , Class < ? > [ ] paramTypes ) { Objects . requireNonNull ( type ) ; MethodVault < V > method = newMethodRec ( type , methodName , paramTypes ) ; if ( method != null ) { return method ; } throw new IllegalStateException ( L . l ( "Unknown method {0}.{1} {2}" , type . getSimpleName ( ) , methodName , Arrays . asList ( paramTypes ) ) ) ; }
creates a stub method for an abstract method , typically a createxxx method .
