Program: 81475
Project: 81475
Buggy source:
void transformSheet(WorkbookTransformationController workbookTransformationController,Sheet sheet,Map beans) throws ParsePropertyException {
  log.debug("String_Node_Str" + sheet.getSheetName());
  exposePOIBeans(sheet,beans);
  if (!beans.isEmpty()) {
    SheetTransformationController stc=new SheetTransformationControllerImpl(sheet);
    workbookTransformationController.addSheetTransformationController(stc);
    for (int i=sheet.getPoiSheet().getFirstRowNum(); i <= sheet.getPoiSheet().getLastRowNum(); i++) {
      org.apache.poi.ss.usermodel.Row hssfRow=sheet.getPoiSheet().getRow(i);
      if (hssfRow != null) {
        List rowTransformers=parseRow(sheet,hssfRow,beans);
        if (!rowTransformers.isEmpty()) {
          ResultTransformation processResult=new ResultTransformation();
          RowTransformer rowTransformer=(RowTransformer)rowTransformers.get(0);
          if (rowTransformer != null) {
            Row row=rowTransformer.getRow();
            applyRowProcessors(sheet,row);
            processResult=rowTransformer.transform(stc,this,beans,null);
            ownTransformers.add(rowTransformer);
            if (!processResult.isTagProcessResult()) {
              i+=processResult.getNextRowShift();
            }
 else {
              if (processResult.getLastProcessedRow() >= 0) {
                i=processResult.getLastProcessedRow();
              }
 else {
                i--;
              }
            }
          }
          for (int j=1; j < rowTransformers.size(); j++) {
            rowTransformer=(RowTransformer)rowTransformers.get(j);
            if (rowTransformer != null) {
              ResultTransformation newTransformation=rowTransformer.transform(stc,this,beans,processResult);
              processResult.add(newTransformation);
              ownTransformers.add(rowTransformer);
            }
          }
        }
      }
    }
    groupRows(sheet);
  }
}

Fixed version (ground truth):
void transformSheet(WorkbookTransformationController workbookTransformationController,Sheet sheet,Map beans) throws ParsePropertyException {
  log.debug("String_Node_Str" + sheet.getSheetName());
  exposePOIBeans(sheet,beans);
  if (!beans.isEmpty()) {
    SheetTransformationController stc=new SheetTransformationControllerImpl(sheet);
    workbookTransformationController.addSheetTransformationController(stc);
    for (int i=sheet.getPoiSheet().getFirstRowNum(); i <= sheet.getPoiSheet().getLastRowNum(); i++) {
      org.apache.poi.ss.usermodel.Row hssfRow=sheet.getPoiSheet().getRow(i);
      if (hssfRow != null) {
        List rowTransformers=parseRow(sheet,hssfRow,beans);
        if (!rowTransformers.isEmpty()) {
          ResultTransformation processResult=new ResultTransformation();
          RowTransformer rowTransformer=(RowTransformer)rowTransformers.get(0);
          if (rowTransformer != null) {
            Row row=rowTransformer.getRow();
            applyRowProcessors(sheet,row);
            processResult=rowTransformer.transform(stc,this,beans,null);
            ownTransformers.add(rowTransformer);
            if (!processResult.isTagProcessResult()) {
              i+=processResult.getNextRowShift();
            }
 else {
              if (processResult.getLastProcessedRow() >= 0) {
                i=processResult.getLastProcessedRow();
              }
 else {
                i--;
              }
            }
          }
          for (int j=1; j < rowTransformers.size(); j++) {
            rowTransformer=(RowTransformer)rowTransformers.get(j);
            if (rowTransformer != null) {
              Block transformationBlock=rowTransformer.getTransformationBlock();
              transformationBlock=processResult.transformBlock(transformationBlock);
              rowTransformer.setTransformationBlock(transformationBlock);
              ResultTransformation newTransformation=rowTransformer.transform(stc,this,beans,processResult);
              processResult.add(newTransformation);
              ownTransformers.add(rowTransformer);
            }
          }
        }
      }
    }
    groupRows(sheet);
  }
}