code: public static void invoke(Class<?> type, String methodName, Class<?>[] parameterTypes, Object... arguments) {
      invoke(null, resolveMethod(type, methodName, parameterTypes, arguments, Void.class), arguments, Void.class);
    }
docs: Calls the method with the specified name and signature on the given class type, passing the given arguments.
  This method assumes the "method" to invoke is a static (class) member method with no return value.
  
  @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.
  @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)