code: public void fatalError(SAXParseException e) throws SAXException
    {
      if(null != m_errorHandler)
      {
        try
        {
          m_errorHandler.fatalError(e);
        }
        catch(SAXParseException se)
        {
          // ignore
        }
        // clearCoRoutine(e);
      }
  
      // This is not great, but we really would rather have the error 
      // handler be the error listener if it is a error handler.  Coroutine's fatalError 
      // can't really be configured, so I think this is the best thing right now 
      // for error reporting.  Possibly another JAXP 1.1 hole.  -sb
      javax.xml.transform.ErrorListener errorListener = m_transformer.getErrorListener();
      
      if(errorListener instanceof ErrorHandler)
      {
        ((ErrorHandler)errorListener).fatalError(e);
        if(null != m_errorHandler)
          m_errorHandler.fatalError(e); // may not be called.
      }
      else
      {
        try
        {
          errorListener.fatalError(new javax.xml.transform.TransformerException(e));
          if(null != m_errorHandler)
            m_errorHandler.fatalError(e); // may not be called.
        }
        catch(javax.xml.transform.TransformerException te)
        {
          throw e;
        }
      }
    }
docs: Filter a fatal error event.
  
  @param e The error as an exception.
  @throws SAXException The client may throw
  an exception during processing.
  @see org.xml.sax.ErrorHandler#fatalError