}
// 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) {