copyAtts.addAttribute("", "", "dst", "CDATA", String.valueOf(dst)); ch.startElement("", "", DIFF_NS + "insert", copyAtts); ch.endElement("", "", DIFF_NS + "insert");
copyAtts.addAttribute("", "", DIFF_CPYDST_ATTR, "CDATA", String.valueOf(dst)); ch.startElement("", "",  DIFF_INS_TAG, copyAtts); ch.endElement("", "",  DIFF_INS_TAG);
  protected void copy(BaseNode b, BranchNode branch, ContentHandler ch,                      Vector stopNodes) throws      SAXException {    // Find stopnodes    Sequence s = new Sequence();    for (Iterator i = stopNodes.iterator(); i.hasNext(); ) {      BranchNode stopNode = (BranchNode) i.next();      Object dst = index.getId(stopNode.getBaseMatch());      // BUGFIX 030115      if (stopNode.getChildCount() == 0) {        AttributesImpl copyAtts = new AttributesImpl();        copyAtts.addAttribute("", "", "dst", "CDATA", String.valueOf(dst));        ch.startElement("", "", DIFF_NS + "insert", copyAtts);        ch.endElement("", "", DIFF_NS + "insert");      }      // ENDBUGFIX      emitChildList(ch, s, stopNode, dst, false);    }  }