for(int ih=0;i<pair.getHangonCount();ih++) {
for(int ih=0;ih<pair.getHangonCount();ih++) {
  protected MergePairList mergeListToPairList( MergeList mlistA,                                             MergeList mlistB ) {    // NOTE: We want to log all children of a non-structurally matched node as    // copy/updates, That's why logHangonStructOps() is used throughout the func    MergePairList merged = new MergePairList();    for( int i=0;i<mlistA.getEntryCount()-1;i++) { // -1 due to end symbol      MergeEntry me = mlistA.getEntry(i);      if( i > 0) { // Don't append __START__        merged.append(me.getNode(),          me.getNode().getFirstPartner(BranchNode.MATCH_FULL));        logHangonStructOps(me.getNode(),merged.getPairCount()-1);      }      for( int ih=0;ih<me.getHangonCount();ih++) {        BranchNode hangon=me.getHangon(ih).getNode();        merged.append(hangon,hangon.getFirstPartner(BranchNode.MATCH_FULL));        logHangonStructOps(hangon,merged.getPairCount()-1);      }      if( mlistB != null ) {        MergeEntry pair = mlistB.getEntry(mlistB.findPartner(me));        if( pair != null && !checkHangonCombine(me,pair,mlistA,mlistB) ) {          for(int ih=0;i<pair.getHangonCount();ih++) {            BranchNode hangon = pair.getHangon(ih).getNode();            merged.append(hangon,hangon.getFirstPartner(BranchNode.MATCH_FULL));            logHangonStructOps(hangon,merged.getPairCount()-1);          }        }      }    }    return merged;  }