code: public static MethodInvocation newMethodInvocation(Class<?> type, String methodName, Object... args) {
      Assert.notNull(type, "Class type cannot be null");
  
      return new MethodInvocation(null, ClassUtils.findMethod(type, methodName, args), args);
    }
docs: Factory method used to construct an instance of {@link MethodInvocation} initialized with  the given
  {@link Class type} on which the {@code methodName named} {@link Method} accepting the given
  array of {@link Object arguments} is declared.
  
  The {@link String named} {@link Method} is expected to be a {@link java.lang.reflect.Modifier#STATIC},
  {@link Class} member {@link Method}.
  
  @param type {@link Class type} declaring the {@link Method}.
  @param methodName {@link String name} of the {@link Method}.
  @param args array of {@link Object arguments} passed to the {@link Method}.
  @return an instance of {@link MethodInvocation} encapsulating all the necessary details to invoke
  the {@link java.lang.reflect.Modifier#STATIC} {@link Method}.
  @throws IllegalArgumentException if the {@link Class type} is {@literal null}.
  @see #MethodInvocation(Object, Method, Object...)
  @see java.lang.Class