Program: 155428
Project: 155428
Buggy source:
@Override public Form createForm(HttpServletRequest request,ApplicationContext appContext) throws TransactionException {
  ItemManager im=appContext.getItemManager();
  DivisionOfficeManager dom=appContext.getDivisionOfficeManager();
  PersonManager pm=appContext.getPersonManager();
  PR pr=new PR();
  String divisionOfficeId=request.getParameter("String_Node_Str");
  if (divisionOfficeId != null)   pr.setDivisionOffice(dom.getDivisionOffice(Integer.parseInt(divisionOfficeId)));
  pr.setPrNumber(request.getParameter("String_Node_Str"));
  pr.setPrDate(request.getParameter("String_Node_Str"));
  pr.setSaiNumber(request.getParameter("String_Node_Str"));
  pr.setSaiDate(request.getParameter("String_Node_Str"));
  pr.setAlobsNumber(request.getParameter("String_Node_Str"));
  pr.setAlobsDate(request.getParameter("String_Node_Str"));
  pr.setPurpose(request.getParameter("String_Node_Str"));
  String reqId=request.getParameter("String_Node_Str");
  if (reqId != null)   pr.setRequestedBy(pm.getEmployee(Integer.parseInt(reqId)));
  String aprid=request.getParameter("String_Node_Str");
  if (aprid != null)   pr.setApprovedBy(pm.getEmployee(Integer.parseInt(aprid)));
  String[] quantities=request.getParameterValues("String_Node_Str");
  String[] estUnitCost=request.getParameterValues("String_Node_Str");
  String[] items=request.getParameterValues("String_Node_Str");
  if (items != null)   for (int i=0; i < items.length; i++) {
    String q=null;
    String eUC=null;
    if (quantities != null)     q=quantities[i];
    if (estUnitCost != null)     eUC=estUnitCost[i];
    if (q == null)     q="String_Node_Str";
    if (eUC == null || eUC == "String_Node_Str")     eUC="String_Node_Str";
    PRLine line=new PRLine();
    line.setQuantity(checkNum(q));
    line.setItem(im.getItem(Integer.parseInt(items[i])));
    line.setEstimatedUnitCost(checkNum2(eUC));
    pr.addLine(line);
  }
  return pr;
}

Fixed version (ground truth):
@Override public Form createForm(HttpServletRequest request,ApplicationContext appContext) throws TransactionException {
  ItemManager im=appContext.getItemManager();
  DivisionOfficeManager dom=appContext.getDivisionOfficeManager();
  PersonManager pm=appContext.getPersonManager();
  PR pr=new PR();
  String divisionOfficeId=request.getParameter("String_Node_Str");
  if (divisionOfficeId != null)   pr.setDivisionOffice(dom.getDivisionOffice(Integer.parseInt(divisionOfficeId)));
  pr.setPrNumber(request.getParameter("String_Node_Str"));
  pr.setPrDate(request.getParameter("String_Node_Str"));
  pr.setSaiNumber(request.getParameter("String_Node_Str"));
  pr.setSaiDate(request.getParameter("String_Node_Str"));
  pr.setAlobsNumber(request.getParameter("String_Node_Str"));
  pr.setAlobsDate(request.getParameter("String_Node_Str"));
  pr.setPurpose(request.getParameter("String_Node_Str"));
  String reqId=request.getParameter("String_Node_Str");
  if (reqId != null)   pr.setRequestedBy(pm.getEmployee(Integer.parseInt(reqId)));
  String aprid=request.getParameter("String_Node_Str");
  if (aprid != null)   pr.setApprovedBy(pm.getEmployee(Integer.parseInt(aprid)));
  String[] quantities=request.getParameterValues("String_Node_Str");
  String[] estUnitCost=request.getParameterValues("String_Node_Str");
  String[] items=request.getParameterValues("String_Node_Str");
  if (items != null)   for (int i=0; i < items.length; i++) {
    String q=null;
    String eUC=null;
    if (quantities != null)     q=quantities[i];
    if (estUnitCost != null)     eUC=estUnitCost[i];
    if (q == null)     q="String_Node_Str";
    if (eUC == null || eUC == "String_Node_Str")     eUC="String_Node_Str";
    PRLine line=new PRLine();
    line.setQuantity(checkNum(q));
    line.setItem(im.getItem(Integer.parseInt(items[i])));
    line.setEstimatedUnitCost(checkNum2(eUC));
    System.out.println("String_Node_Str" + checkNum2(eUC));
    pr.addLine(line);
  }
  return pr;
}