docs: public static <T> T invokeMethod(final Object obj, final String methodName, final Object[] args,
  			final Class<?>[] parameterTypes) {
  		Method method = getMethod(obj.getClass(), methodName, parameterTypes);
  		if (method == null) {
  			throw new IllegalArgumentException("Could not find method [" + methodName + "] with parameter types:"
  					+ ObjectUtil.toPrettyString(parameterTypes) + " on class [" + obj.getClass() + ']');
  		}
  		return invokeMethod(obj, method, args);
  	}