code: public T marshal(S object) {
  
          try {
          	final T result = (T) marshalHandle.invoke(object);
              return result;
          } catch (Throwable ex) {
          	if (ex.getCause() instanceof RuntimeException) {
                  throw (RuntimeException) ex.getCause();
              }
              throw new BindingException(ex.getMessage(), ex.getCause());
          }
      }
docs: /* @Override