code: public void run()
    {
  
      m_hasBeenReset = false;
  
      try
      {
  
        // int n = ((SourceTreeHandler)getInputContentHandler()).getDTMRoot();
        // transformNode(n);
        try
        {
          // m_isTransformDone = false; // android-removed
          
          // Should no longer be needed...
  //          if(m_inputContentHandler instanceof TransformerHandlerImpl)
  //          {
  //            TransformerHandlerImpl thi = (TransformerHandlerImpl)m_inputContentHandler;
  //            thi.waitForInitialEvents();
  //          }
  
          transformNode(m_doc);
          
        }
        catch (Exception e)
        {
          // e.printStackTrace();
  
          // Strange that the other catch won't catch this...
          if (null != m_transformThread)
            postExceptionFromThread(e);   // Assume we're on the main thread
          else 
            throw new RuntimeException(e.getMessage());
        }
        finally
        {
          // m_isTransformDone = true; // android-removed
  
          if (m_inputContentHandler instanceof TransformerHandlerImpl)
          {
            ((TransformerHandlerImpl) m_inputContentHandler).clearCoRoutine();
          }
  
          //        synchronized (this)
          //        {
          //          notifyAll();
          //        }
        }
      }
      catch (Exception e)
      {
  
        // e.printStackTrace();
        if (null != m_transformThread)
          postExceptionFromThread(e);
        else 
          throw new RuntimeException(e.getMessage());         // Assume we're on the main thread.
      }
    }
docs: Run the transform thread.