code: public static Object invokeMethod(final Object obj, final String methodName,
  			final Object[] params, final Class[] paramTypes) {
  		Object res = null;
  
  		try {
  			Class cls = obj.getClass();
  			Method method = cls.getMethod(methodName, paramTypes);
  			res = method.invoke(obj, params);
  		} catch (SecurityException e) {
  			throw new SystemException(e);
  		} catch (NoSuchMethodException e) {
  			throw new SystemException(e);
  		} catch (IllegalAccessException e) {
  			throw new SystemException(e);
  		} catch (InvocationTargetException e) {
  			throw new SystemException(e);
  		}
  
  		return res;
  	}
docs: Invoke the <code>public</code> method on the given object.
  
  @param obj is the Object to invoke
  @param methodName is the name of the method to invoke
  @param params are the param to pass to the method
  @param paramTypes are the types of parameters to be passed.
  @return the result of the method call.