code: Object invokeOperation(Object implObject, Method method, Object[] args)
                      throws IllegalAccessException, IllegalArgumentException, InvocationTargetException,
                      SQLException {
          if (args != null && args.length == 1 && method.getName().equals("getCursor"))
              return getCursor(implObject, method, args);
          return super.invokeOperation(implObject, method, args);
      }
docs: Invokes a method on the specified object.
  
  @param implObject the instance on which the operation is invoked.
  @param method the method that is invoked.
  @param args the parameters to the method.
  
  @throws IllegalAccessException if the method is inaccessible.
  @throws IllegalArgumentException if the instance does not have the method or
  if the method arguments are not appropriate.
  @throws InvocationTargetException if the method raises a checked exception.
  @throws SQLException if unable to invoke the method for other reasons.
  
  @return the result of invoking the method.