code: public void startParse(InputSource source) throws SAXException
    {
      if(fNoMoreEvents)
        throw new SAXException(XMLMessages.createXMLMessage(XMLErrorResources.ER_INCRSAXSRCFILTER_NOT_RESTARTABLE, null)); //"IncrmentalSAXSource_Filter not currently restartable.");
      if(fXMLReader==null)
        throw new SAXException(XMLMessages.createXMLMessage(XMLErrorResources.ER_XMLRDR_NOT_BEFORE_STARTPARSE, null)); //"XMLReader not before startParse request");
  
      fXMLReaderInputSource=source;
      
      // Xalan thread pooling...
      // org.apache.xalan.transformer.TransformerImpl.runTransformThread(this);
      ThreadControllerWrapper.runThread(this, -1);
    }
docs: Launch a thread that will run an XMLReader's parse() operation within
  a thread, feeding events to this IncrementalSAXSource_Filter. Mostly a convenience
  routine, but has the advantage that -- since we invoked parse() --
  we can halt parsing quickly via a StopException rather than waiting
  for the SAX stream to end by itself.
  
  @throws SAXException is parse thread is already in progress
  or parsing can not be started.