code:     public O transform(final Object input) {
          if (input == null) {
              return null;
          }
          try {
              final Class<?> cls = input.getClass();
              final Method method = cls.getMethod(iMethodName, iParamTypes);
              return (O) method.invoke(input, iArgs);
          } catch (final NoSuchMethodException ex) {
              throw new FunctorException("InvokerTransformer: The method '" + iMethodName + "' on '" +
                                         input.getClass() + "' does not exist");
          } catch (final IllegalAccessException ex) {
              throw new FunctorException("InvokerTransformer: The method '" + iMethodName + "' on '" +
                                         input.getClass() + "' cannot be accessed");
          } catch (final InvocationTargetException ex) {
              throw new FunctorException("InvokerTransformer: The method '" + iMethodName + "' on '" +
                                         input.getClass() + "' threw an exception", ex);
          }
      }
  
  