code: public void endDocument() throws SAXException
    {
  
      if (DEBUG)
        System.out.println("TransformerHandlerImpl#endDocument");
  
      m_insideParse = false;
      
      if (m_contentHandler != null)
      {
        m_contentHandler.endDocument();
      }
      
      if(m_incremental)
      {
        m_transformer.waitTransformThread();
      }
      else
      {
        m_transformer.setSourceTreeDocForThread(m_dtm.getDocument());
        m_transformer.run();
      }
     /* Thread transformThread = m_transformer.getTransformThread();
  
      if (null != transformThread)
      {
        try
        {
  
          // This should wait until the transformThread is considered not alive.
          transformThread.join();
  
          if (!m_transformer.hasTransformThreadErrorCatcher())
          {
            Exception e = m_transformer.getExceptionThrown();
  
            if (null != e)
              throw new org.xml.sax.SAXException(e);
          }
  
          m_transformer.setTransformThread(null);
        }
        catch (InterruptedException ie){}
      }*/
    }
docs: Filter an end document event.
  
  @throws SAXException The client may throw
  an exception during processing.
  @see org.xml.sax.ContentHandler#endDocument