if( ce.getQName().equals(Diff.DIFF_NS+"esc") || ce.getQName().equals(Diff.DIFF_NS+"insert") ) {
if( ce.getQName().equals(Diff.DIFF_ESC_TAG) || ce.getQName().equals(Diff.DIFF_INS_TAG) ) {
  protected void insert( BranchNode patch, BranchNode diff, IdIndex index) throws    ParseException {    XMLNode cmdcontent = diff.getContent();    if( cmdcontent instanceof XMLTextNode ||      !Diff.RESERVED.contains(((XMLElementNode) cmdcontent).getQName())) {      // Simple insert operation      BranchNode node = new BranchNode( cmdcontent );      patch.addChild(node);      for( int i=0;i<diff.getChildCount();i++)        insert(node,diff.getChild(i),index); // Recurse to next level    } else {      // Other ops..      XMLElementNode ce = (XMLElementNode) cmdcontent;      if( ce.getQName().equals(Diff.DIFF_NS+"esc") ||          ce.getQName().equals(Diff.DIFF_NS+"insert") ) {        // BUGFIX 030115	  //if( diff.getChildCount() == 0)          //throw new ParseException("DIFFSYNTAX: insert/esc has no subtree " +          //                          ce.toString() );        //ENDBUGFIX        for( int i=0;i<diff.getChildCount();i++) // SHORTINS          insert( patch, diff.getChild(i), index );      } else {        // Copy operation        BaseNode srcRoot = null;        String src = null;        try {          src = ce.getAttributes().getValue("src");          srcRoot = (BaseNode) index.lookup(src) ;        } catch ( Exception e ) {            throw new ParseException(              "DIFFSYNTAX: Invalid parameters in command " + ce.toString() );        }        copy( patch, diff, srcRoot,src, index );      } // Copyop    }  }