// private methods
 private synchronized void writeToSAX(ContentHandler handler) {
   // nothing must go wrong with this parse...
   SAXParser parser = fGrammar.getSAXParser();
   StringReader aReader = new StringReader(fData);
   InputSource aSource = new InputSource(aReader);
   parser.setContentHandler(handler);
   try {
     parser.parse(aSource);
   } catch (SAXException e) {
     // this should never happen!
     // REVISIT:  what to do with this?; should really not
     // eat it...
   } catch (IOException i) {
     // ditto with above
   }
 }