code: public static Signature from(Class<?> retval, Class<?>[] argTypes, String... argNames) {
          assert argTypes.length == argNames.length;
  
          return new Signature(retval, argTypes, argNames);
      }
docs: Create a new signature based on the given return value, argument types, and argument names
  
  @param retval the type of the return value
  @param argTypes the types of the arguments
  @param argNames the names of the arguments
  @return a new Signature