code: public static <T> T invoke(Class<?> type, String methodName, Class<?>[] parameterTypes, Object[] arguments,
        Class<T> returnType) {
  
      try {
        return invoke(null, resolveMethod(type, methodName, parameterTypes, arguments, returnType),
          arguments, returnType);
      }
      catch (MethodNotFoundException e) {
        throw new IllegalArgumentException(String.format("No method with signature (%1$s) exists on class type (%2$s)!",
          getMethodSignature(methodName, parameterTypes, returnType), type.getName()), e);
      }
    }
docs: Calls the method with the specified name and signature on the given class type, passing the given arguments
  and then the method's return value to the desired class type.  This method assumes the "method" to invoke
  is a static (class) member method.
  
  @param <T> the desired return type in which the method's return value will be cast; should be compatible with
  the method's return type.
  @param type the Class type on which the method to invoke is declared and defined.
  @param methodName a String indicating the name of the method to invoke.
  @param parameterTypes an array of Class types corresponding to the method's parameter types that specifies
  the exact signature (order, type and number of parameters) of the method to invoke.  This is necessary
  in cases where the method maybe overloaded.
  @param arguments an array of objects constituting the method's signature as well as the arguments
  to the method's parameters.
  @param returnType the desired Class type in which to cast the method's return value.
  @return the specified method's return value cast to the desired return type.
  @throws IllegalArgumentException if the method with the specified name is not declared on the given class type.
  @throws MethodInvocationException if the method invocation (call) fails to be executed successfully.
  @see #getMethod(Class, String, Class[])
  @see #getMethodSignature(String, Class[], Class)
  @see #invoke(Object, java.lang.reflect.Method, Object[], Class)