docs: public static <C, T> MethodInvoker getMethodInvokerForSingleArgument(Object target) {
  		final AtomicReference<Method> methodHolder = new AtomicReference<Method>();
  		ReflectionUtils.doWithMethods(target.getClass(),
  				new ReflectionUtils.MethodCallback() {
  					public void doWith(Method method)
  							throws IllegalArgumentException, IllegalAccessException {
  						if ((method.getModifiers() & Modifier.PUBLIC) == 0
  								|| method.isBridge()) {
  							return;
  						}
  						if (method.getParameterTypes() == null
  								|| method.getParameterTypes().length != 1) {
  							return;
  						}
  						if (method.getReturnType().equals(Void.TYPE)
  								|| ReflectionUtils.isEqualsMethod(method)) {
  							return;
  						}
  						Assert.state(methodHolder.get() == null,
  								"More than one non-void public method detected with single argument.");
  						methodHolder.set(method);
  					}
  				});
  		Method method = methodHolder.get();
  		return new SimpleMethodInvoker(target, method);
  	}