/**
   * 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 {
    int nodeID = getNodeIdent(node);
    if (nodeID == RTF_ROOT || nodeID == RTF_TEXT) {
      boolean escapeBit = false;
      boolean oldEscapeSetting = false;

      try {
        for (int i = 0; i < _size; i++) {

          if (_dontEscape != null) {
            escapeBit = _dontEscape.getBit(i);
            if (escapeBit) {
              oldEscapeSetting = handler.setEscaping(false);
            }
          }

          handler.characters(_textArray[i]);

          if (escapeBit) {
            handler.setEscaping(oldEscapeSetting);
          }
        }
      } catch (SAXException e) {
        throw new TransletException(e);
      }
    }
  }