code: protected void onTransformationSinkErrorOccurred(Exception exception) {
  
          for (TransformerSinkEventListener listener : transformerSinkEventListeners)
              fireErrorEvent(listener, new TransformerSinkErrorEvent(this, exception));
      }
  
  
      /**
       * (Re)-fires a preconstructed event.
       * @param event The event to fire
       */
      protected void onTransformationSinkErrorOccurred(TransformerSinkErrorEvent event) {
  
          for (TransformerSinkEventListener listener : transformerSinkEventListeners)
              fireErrorEvent(listener, event);
      }
  
      /**
       * Fires the given event on the given listener.
       * @param listener The listener to fire the event to.
       * @param event The event to fire.
       */
      private void fireErrorEvent(TransformerSinkEventListener listener, TransformerSinkErrorEvent event) {
  
          try {
              listener.ErrorOccurred(event);
          }
          catch (RuntimeException e) {
              // Log this somehow
              System.err.println("Exception thrown while trying to invoke event listener, removing bed behaved listener.");
              e.printStackTrace();
              removeTransformerSinkEventListener(listener);
          }
      }
  }
docs: Called when an exception occurred. Fires the ErrorOccured event.
  @param exception The exception that was thrown by the TransformationSink.