Program: 56626
Project: 56626
Buggy source:
private String getSheetDefaultRules(){
  Sheet sheet=getSelectedSheet();
  HeaderPositionHelper colHelper=this.getColumnPositionHelper(sheet);
  HeaderPositionHelper rowHelper=this.getRowPositionHelper(sheet);
  MergeMatrixHelper mmhelper=this.getMergeMatrixHelper(sheet);
  boolean hiderow=isHiderowhead();
  boolean hidecol=isHidecolumnhead();
  boolean showgrid=sheet.isDisplayGridlines();
  int th=hidecol ? 1 : this.getTopheadheight();
  int lw=hiderow ? 1 : this.getLeftheadwidth();
  int cp=this._cellpadding;
  int rh=this.getRowheight();
  int cw=this.getColumnwidth();
  int lh=20;
  if (lh > rh) {
    lh=rh;
  }
  String sheetid=getUuid();
  String name="String_Node_Str" + sheetid;
  int cellwidth;
  int cellheight;
  Execution exe=Executions.getCurrent();
  boolean isGecko=exe.isGecko();
  boolean isIE=exe.isExplorer();
  if (isGecko) {
    cellwidth=cw;
    cellheight=rh;
  }
 else {
    cellwidth=cw - 2 * cp - 1;
    cellheight=rh - 1;
  }
  int celltextwidth=cw - 2 * cp - 1;
  StringBuffer sb=new StringBuffer();
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(rh).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append("String_Node_Str" + cp + "String_Node_Str"+ cp+ "String_Node_Str");
  sb.append("String_Node_Str").append(cellheight).append("String_Node_Str");
  sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
  if (!showgrid) {
    sb.append("String_Node_Str").append("String_Node_Str");
  }
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
  sb.append("String_Node_Str").append(cellheight).append("String_Node_Str");
  sb.append("String_Node_Str");
  int toph=th - 1;
  int topheadh=(isGecko) ? toph : toph - 1;
  int cornertoph=th - 1;
  int fzr=getRowfreeze();
  int fzc=getColumnfreeze();
  if (fzr > -1) {
    toph=toph + rowHelper.getStartPixel(fzr + 1);
  }
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? toph - 1 : toph).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(toph).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(topheadh).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str").append(cornertoph).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append("String_Node_Str" + cp + "String_Node_Str"+ cp+ "String_Node_Str");
  sb.append("String_Node_Str").append(topheadh).append("String_Node_Str");
  sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
  sb.append("String_Node_Str").append(topheadh).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
  sb.append("String_Node_Str");
  int leftw=lw - 1;
  int leftheadw=leftw;
  int leftblockleft=leftw;
  if (fzc > -1) {
    leftw=leftw + colHelper.getStartPixel(fzc + 1);
  }
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? leftw - 1 : leftw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftheadw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftblockleft).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftheadw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(rh - 1).append("String_Node_Str");
  sb.append("String_Node_Str").append(rh - 1).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? leftw : leftw + 1).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? toph : toph + 1).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw - 2).append("String_Node_Str");
  sb.append("String_Node_Str").append(th - 2).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  boolean transparentBorder=false;
  if (transparentBorder) {
    sb.append(name).append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    if (isIE) {
      String color_to_transparent="String_Node_Str";
      sb.append("String_Node_Str" + color_to_transparent + "String_Node_Str");
      sb.append("String_Node_Str" + color_to_transparent + "String_Node_Str");
    }
    sb.append("String_Node_Str");
  }
  List<HeaderPositionInfo> infos=colHelper.getInfos();
  for (  HeaderPositionInfo info : infos) {
    boolean hidden=info.hidden;
    int index=info.index;
    int width=hidden ? 0 : info.size;
    int cid=info.id;
    celltextwidth=width - 2 * cp - 1;
    if (celltextwidth < 0)     celltextwidth=0;
    if (!isGecko) {
      cellwidth=celltextwidth;
    }
 else {
      cellwidth=width;
    }
    if (width <= 0) {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
    }
 else {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
    }
  }
  infos=rowHelper.getInfos();
  for (  HeaderPositionInfo info : infos) {
    boolean hidden=info.hidden;
    int index=info.index;
    int height=hidden ? 0 : info.size;
    int cid=info.id;
    cellheight=height;
    if (!isGecko) {
      cellheight=height - 1;
    }
    if (height <= 0) {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
    }
 else {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(height).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(cellheight).append("String_Node_Str");
      sb.append("String_Node_Str");
      int h2=(height < 1) ? 0 : height - 1;
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(h2).append("String_Node_Str");
      sb.append("String_Node_Str").append(h2).append("String_Node_Str");
      sb.append("String_Node_Str");
    }
  }
  sb.append("String_Node_Str");
  List ranges=mmhelper.getRanges();
  Iterator iter=ranges.iterator();
  while (iter.hasNext()) {
    MergedRect block=(MergedRect)iter.next();
    int left=block.getLeft();
    int right=block.getRight();
    int width=0;
    for (int i=left; i <= right; i++) {
      final HeaderPositionInfo info=colHelper.getInfo(i);
      final boolean hidden=info.hidden;
      final int colSize=hidden ? 0 : info.size;
      width+=colSize;
    }
    if (width <= 0) {
      sb.append(name).append("String_Node_Str").append(block.getId()).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(block.getId());
      sb.append("String_Node_Str").append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
    }
 else {
      celltextwidth=width - 2 * cp - 1;
      if (!isGecko) {
        cellwidth=celltextwidth;
      }
 else {
        cellwidth=width;
      }
      sb.append(name).append("String_Node_Str").append(block.getId()).append("String_Node_Str");
      sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(block.getId());
      sb.append("String_Node_Str").append("String_Node_Str");
      sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
    }
  }
  sb.append("String_Node_Str");
  return sb.toString();
}

Fixed version (ground truth):
private String getSheetDefaultRules(){
  Sheet sheet=getSelectedSheet();
  HeaderPositionHelper colHelper=this.getColumnPositionHelper(sheet);
  HeaderPositionHelper rowHelper=this.getRowPositionHelper(sheet);
  MergeMatrixHelper mmhelper=this.getMergeMatrixHelper(sheet);
  boolean hiderow=isHiderowhead();
  boolean hidecol=isHidecolumnhead();
  boolean showgrid=sheet.isDisplayGridlines();
  int th=hidecol ? 1 : this.getTopheadheight();
  int lw=hiderow ? 1 : this.getLeftheadwidth();
  int cp=this._cellpadding;
  int rh=this.getRowheight();
  int cw=this.getColumnwidth();
  int lh=20;
  if (lh > rh) {
    lh=rh;
  }
  String sheetid=getUuid();
  String name="String_Node_Str" + sheetid;
  int cellwidth;
  int cellheight;
  Execution exe=Executions.getCurrent();
  boolean isGecko=exe.isGecko();
  boolean isIE=exe.isExplorer();
  if (isGecko) {
    cellwidth=cw;
    cellheight=rh;
  }
 else {
    cellwidth=cw - 2 * cp - 1;
    cellheight=rh - 1;
  }
  int celltextwidth=cw - 2 * cp - 1;
  StringBuffer sb=new StringBuffer();
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(rh).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append("String_Node_Str" + cp + "String_Node_Str"+ cp+ "String_Node_Str");
  sb.append("String_Node_Str").append(cellheight).append("String_Node_Str");
  sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
  if (!showgrid) {
    sb.append("String_Node_Str").append("String_Node_Str");
  }
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
  sb.append("String_Node_Str").append(cellheight).append("String_Node_Str");
  sb.append("String_Node_Str");
  int toph=th - 1;
  int topheadh=(isGecko) ? toph : toph - 1;
  int cornertoph=th - 1;
  int fzr=getRowfreeze();
  int fzc=getColumnfreeze();
  if (fzr > -1) {
    toph=toph + rowHelper.getStartPixel(fzr + 1);
  }
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? toph - 1 : toph).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(toph).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(topheadh).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str").append(cornertoph).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append("String_Node_Str" + cp + "String_Node_Str"+ cp+ "String_Node_Str");
  sb.append("String_Node_Str").append(topheadh).append("String_Node_Str");
  sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
  sb.append("String_Node_Str").append(topheadh).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
  sb.append("String_Node_Str");
  int leftw=lw - 1;
  int leftheadw=leftw;
  int leftblockleft=leftw;
  if (fzc > -1) {
    leftw=leftw + colHelper.getStartPixel(fzc + 1);
  }
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? leftw - 1 : leftw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftheadw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftblockleft).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str").append(leftheadw).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(rh - 1).append("String_Node_Str");
  sb.append("String_Node_Str").append(rh - 1).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? leftw : leftw + 1).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? toph : toph + 1).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw - 2).append("String_Node_Str");
  sb.append("String_Node_Str").append(th - 2).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(lw).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(th).append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzr > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(name).append("String_Node_Str");
  sb.append("String_Node_Str").append(fzc > -1 ? "String_Node_Str" : "String_Node_Str").append("String_Node_Str");
  sb.append("String_Node_Str");
  boolean transparentBorder=false;
  if (transparentBorder) {
    sb.append(name).append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    if (isIE) {
      String color_to_transparent="String_Node_Str";
      sb.append("String_Node_Str" + color_to_transparent + "String_Node_Str");
      sb.append("String_Node_Str" + color_to_transparent + "String_Node_Str");
    }
    sb.append("String_Node_Str");
  }
  List<HeaderPositionInfo> infos=colHelper.getInfos();
  for (  HeaderPositionInfo info : infos) {
    boolean hidden=info.hidden;
    int index=info.index;
    int width=hidden ? 0 : info.size;
    int cid=info.id;
    celltextwidth=width - 2 * cp - 1;
    if (celltextwidth < 0)     celltextwidth=0;
    if (!isGecko) {
      cellwidth=celltextwidth;
    }
 else {
      cellwidth=width;
    }
    if (width <= 0) {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
    }
 else {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
    }
  }
  infos=rowHelper.getInfos();
  for (  HeaderPositionInfo info : infos) {
    boolean hidden=info.hidden;
    int index=info.index;
    int height=hidden ? 0 : info.size;
    int cid=info.id;
    cellheight=height;
    if (!isGecko) {
      cellheight=height - 1;
    }
    if (height <= 0) {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
    }
 else {
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(height).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(cellheight).append("String_Node_Str");
      sb.append("String_Node_Str");
      int h2=(height < 1) ? 0 : height - 1;
      sb.append(name).append("String_Node_Str").append(cid).append("String_Node_Str");
      sb.append("String_Node_Str").append(h2).append("String_Node_Str");
      sb.append("String_Node_Str").append(h2).append("String_Node_Str");
      sb.append("String_Node_Str");
    }
  }
  sb.append("String_Node_Str");
  List ranges=mmhelper.getRanges();
  Iterator iter=ranges.iterator();
  final int defaultSize=colHelper.getDefaultSize();
  while (iter.hasNext()) {
    MergedRect block=(MergedRect)iter.next();
    int left=block.getLeft();
    int right=block.getRight();
    int width=0;
    for (int i=left; i <= right; i++) {
      final HeaderPositionInfo info=colHelper.getInfo(i);
      if (info != null) {
        final boolean hidden=info.hidden;
        final int colSize=hidden ? 0 : info.size;
        width+=colSize;
      }
 else {
        width+=defaultSize;
      }
    }
    if (width <= 0) {
      sb.append(name).append("String_Node_Str").append(block.getId()).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(block.getId());
      sb.append("String_Node_Str").append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
    }
 else {
      celltextwidth=width - 2 * cp - 1;
      if (!isGecko) {
        cellwidth=celltextwidth;
      }
 else {
        cellwidth=width;
      }
      sb.append(name).append("String_Node_Str").append(block.getId()).append("String_Node_Str");
      sb.append("String_Node_Str").append(cellwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(name).append("String_Node_Str").append(block.getId());
      sb.append("String_Node_Str").append("String_Node_Str");
      sb.append("String_Node_Str").append(celltextwidth).append("String_Node_Str");
      sb.append("String_Node_Str");
    }
  }
  sb.append("String_Node_Str");
  return sb.toString();
}