code: private static Object invokeMethod(Method method, Object bean, Object[] values)
  			throws IllegalAccessException, InvocationTargetException {
  		try {
  
  			return method.invoke(bean, values);
  
  		} catch (IllegalArgumentException e) {
  
  			LOGGER.error("Method invocation failed.", e);
  			throw new IllegalArgumentException("Cannot invoke " + method.getDeclaringClass().getName() + "."
  					+ method.getName() + " - " + e.getMessage());
  
  		}
  	}
docs: This utility method just catches and wraps IllegalArgumentException.
  
  @param method
  the method to call
  @param bean
  the bean
  @param values
  the values
  @return the returned value of the method
  @throws IllegalAccessException
  if an exception occurs
  @throws InvocationTargetException
  if an exception occurs