ch.endElement("", "", DIFF_NS + "esc");
ch.endElement("", "",  DIFF_ESC_TAG);
  protected void insert(BranchNode branch, ContentHandler ch) throws      SAXException {    XMLNode content = branch.getContent();    if (content instanceof XMLTextNode) {      XMLTextNode ct = (XMLTextNode) content;      ch.characters(ct.getText(), 0, ct.getText().length);    }    else {      // Element node      Sequence s = new Sequence();      XMLElementNode ce = (XMLElementNode) content;      boolean escape = RESERVED.contains(ce.getQName());      if (escape)        ch.startElement("", "", DIFF_NS + "esc", EMPTY_ATTS);      ch.startElement(ce.getNamespaceURI(), ce.getLocalName(), ce.getQName(),                      ce.getAttributes());      if (escape)        ch.endElement("", "", DIFF_NS + "esc");      emitChildList(ch, s, branch, NO_DST_REQUIRED , true);      if (escape)        ch.startElement("", "", DIFF_NS + "esc", EMPTY_ATTS);      ch.endElement(ce.getNamespaceURI(), ce.getLocalName(), ce.getQName());      if (escape)        ch.endElement("", "", DIFF_NS + "esc");    }  }