docs: public static MethodInvoker getMethodInvokerByName(Object object, String methodName,
  			boolean paramsRequired, Class<?>... paramTypes) {
  		Assert.notNull(object, "Object to invoke must not be null");
  		Method method = ClassUtils.getMethodIfAvailable(object.getClass(), methodName,
  				paramTypes);
  		if (method == null) {
  			String errorMsg = "no method found with name [" + methodName + "] on class ["
  					+ object.getClass().getSimpleName()
  					+ "] compatable with the signature ["
  					+ getParamTypesString(paramTypes) + "].";
  			Assert.isTrue(!paramsRequired, errorMsg);
  			// if no method was found for the given parameters, and the
  			// parameters aren't required, then try with no params
  			method = ClassUtils.getMethodIfAvailable(object.getClass(), methodName,
  					new Class[] {});
  			Assert.notNull(method, errorMsg);
  		}
  		return new SimpleMethodInvoker(object, method);
  	}