/**
  * Dispatch the character content of a node to an output handler.
  *
  * <p>The escape setting should be taken care of when outputting to a handler.
  */
 public void characters(final int node, SerializationHandler handler) throws TransletException {
   if (_dom != null) {
     _dom.characters(node, handler);
   } else {
     super.characters(node, handler);
   }
 }
 public void characters(char[] ch, int offset, int length) throws SAXException {
   if (_dom != null) {
     maybeEmitStartElement();
     _dom.characters(ch, offset, length);
   } else {
     super.characters(ch, offset, length);
   }
 }
 // Create and initialize the wrapped SAXImpl object
 private void prepareNewDOM() throws SAXException {
   _dom =
       (SAXImpl)
           _dtmManager.getDTM(null, true, _wsfilter, true, false, false, _initSize, _buildIdIndex);
   _dom.startDocument();
   // Flush pending Text nodes to SAXImpl
   for (int i = 0; i < _size; i++) {
     String str = _textArray[i];
     _dom.characters(str.toCharArray(), 0, str.length());
   }
   _size = 0;
 }