if( ce.getQName().equals(DIFF_NS+"esc") || ce.getQName().equals(DIFF_NS+"insert") ) {
if( ce.getQName().equals(Diff.DIFF_NS+"esc") || ce.getQName().equals(Diff.DIFF_NS+"insert") ) {
  protected void insert( BranchNode patch, BranchNode diff) throws    ParseException {    XMLNode cmdcontent = diff.getContent();    if( cmdcontent instanceof XMLTextNode ||      !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)); // Recurse to next level    } else {      // Other ops..      XMLElementNode ce = (XMLElementNode) cmdcontent;      if( ce.getQName().equals(DIFF_NS+"esc") ||          ce.getQName().equals(DIFF_NS+"insert") ) {        // BUGFIX 030115        //if( diff.getChildCount() == 0)        //    throw new ParseException("DIFFSYNTAX: insert/esc has no subtree " +        //                              ce.toString() );        if( diff.getChildCount() > 0 )          insert( patch, diff.getChild(0) );        //ENDBUGFIX      } else {        // Copy operation        BaseNode srcRoot = null;        try {          srcRoot = locateNode(                        Integer.parseInt(ce.getAttributes().getValue("src"))) ;        } catch ( Exception e ) {            throw new ParseException(              "DIFFSYNTAX: Invalid parameters in command " + ce.toString() );        }        copy( patch, diff, srcRoot );      } // Copyop    }  }