Program: 69521
Project: 69521
Buggy source:
public void updateStatus(CourseEditorTreeModel cetm,StatusDescription[] courseStatus){
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  long lpTimeStamp=cetm.getLatestPublishTimestamp();
  if (lpTimeStamp == -1) {
    main.contextPut("String_Node_Str","String_Node_Str");
  }
 else {
    Date d=new Date(lpTimeStamp);
    main.contextPut("String_Node_Str",translate("String_Node_Str",Formatter.getInstance(getLocale()).formatDateAndTime(d)));
  }
  if (courseStatus == null || courseStatus.length == 0) {
    main.contextPut("String_Node_Str",Boolean.FALSE);
    main.contextPut("String_Node_Str",Boolean.FALSE);
  }
 else {
    List<String> errorIsForNode=new ArrayList<String>();
    List<String> errorMessage=new ArrayList<String>();
    List<String> errorHelpWizardLink=new ArrayList<String>();
    List<String> warningIsForNode=new ArrayList<String>();
    List<String> warningMessage=new ArrayList<String>();
    List<String> warningHelpWizardLink=new ArrayList<String>();
    int errCnt=0;
    int warCnt=0;
    String helpWizardCmd;
    for (int i=0; i < courseStatus.length; i++) {
      StatusDescription description=courseStatus[i];
      String nodeId=courseStatus[i].getDescriptionForUnit();
      String nodeName=cetm.getCourseNode(nodeId).getShortName();
      helpWizardCmd=courseStatus[i].getActivateableViewIdentifier();
      if (helpWizardCmd != null) {
        helpWizardCmd="String_Node_Str" + courseStatus[i].getDescriptionForUnit() + "String_Node_Str"+ courseStatus[i].getShortDescriptionKey();
      }
 else {
        helpWizardCmd="String_Node_Str";
      }
      if (description.isError()) {
        errCnt++;
        errorIsForNode.add(nodeName);
        errorMessage.add(description.getShortDescription(getLocale()));
        errorHelpWizardLink.add(helpWizardCmd);
      }
 else       if (description.isWarning()) {
        warCnt++;
        warningIsForNode.add(nodeName);
        warningMessage.add(description.getShortDescription(getLocale()));
        warningHelpWizardLink.add(helpWizardCmd);
      }
    }
    if (errCnt > 0 || warCnt > 0) {
      if (warCnt > 0) {
        main.contextPut("String_Node_Str",Boolean.TRUE);
        main.contextPut("String_Node_Str",warningIsForNode);
        main.contextPut("String_Node_Str",warningMessage);
        main.contextPut("String_Node_Str",warningHelpWizardLink);
        main.contextPut("String_Node_Str",new String[]{Integer.toString(warCnt)});
        main.contextPut("String_Node_Str",warningIsOpen);
      }
      if (errCnt > 0) {
        main.contextPut("String_Node_Str",Boolean.TRUE);
        main.contextPut("String_Node_Str",errorIsForNode);
        main.contextPut("String_Node_Str",errorMessage);
        main.contextPut("String_Node_Str",errorHelpWizardLink);
        main.contextPut("String_Node_Str",new String[]{Integer.toString(errCnt)});
        main.contextPut("String_Node_Str",errorIsOpen);
      }
    }
 else {
      main.contextPut("String_Node_Str",Boolean.FALSE);
      main.contextPut("String_Node_Str",Boolean.FALSE);
    }
  }
}

Fixed version (ground truth):
public void updateStatus(CourseEditorTreeModel cetm,StatusDescription[] courseStatus){
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  main.contextRemove("String_Node_Str");
  long lpTimeStamp=cetm.getLatestPublishTimestamp();
  if (lpTimeStamp == -1) {
    main.contextPut("String_Node_Str",translate("String_Node_Str"));
  }
 else {
    Date d=new Date(lpTimeStamp);
    main.contextPut("String_Node_Str",translate("String_Node_Str",Formatter.getInstance(getLocale()).formatDateAndTime(d)));
  }
  if (courseStatus == null || courseStatus.length == 0) {
    main.contextPut("String_Node_Str",Boolean.FALSE);
    main.contextPut("String_Node_Str",Boolean.FALSE);
  }
 else {
    List<String> errorIsForNode=new ArrayList<String>();
    List<String> errorMessage=new ArrayList<String>();
    List<String> errorHelpWizardLink=new ArrayList<String>();
    List<String> warningIsForNode=new ArrayList<String>();
    List<String> warningMessage=new ArrayList<String>();
    List<String> warningHelpWizardLink=new ArrayList<String>();
    int errCnt=0;
    int warCnt=0;
    String helpWizardCmd;
    for (int i=0; i < courseStatus.length; i++) {
      StatusDescription description=courseStatus[i];
      String nodeId=courseStatus[i].getDescriptionForUnit();
      String nodeName=cetm.getCourseNode(nodeId).getShortName();
      helpWizardCmd=courseStatus[i].getActivateableViewIdentifier();
      if (helpWizardCmd != null) {
        helpWizardCmd="String_Node_Str" + courseStatus[i].getDescriptionForUnit() + "String_Node_Str"+ courseStatus[i].getShortDescriptionKey();
      }
 else {
        helpWizardCmd="String_Node_Str";
      }
      if (description.isError()) {
        errCnt++;
        errorIsForNode.add(nodeName);
        errorMessage.add(description.getShortDescription(getLocale()));
        errorHelpWizardLink.add(helpWizardCmd);
      }
 else       if (description.isWarning()) {
        warCnt++;
        warningIsForNode.add(nodeName);
        warningMessage.add(description.getShortDescription(getLocale()));
        warningHelpWizardLink.add(helpWizardCmd);
      }
    }
    if (errCnt > 0 || warCnt > 0) {
      if (warCnt > 0) {
        main.contextPut("String_Node_Str",Boolean.TRUE);
        main.contextPut("String_Node_Str",warningIsForNode);
        main.contextPut("String_Node_Str",warningMessage);
        main.contextPut("String_Node_Str",warningHelpWizardLink);
        main.contextPut("String_Node_Str",new String[]{Integer.toString(warCnt)});
        main.contextPut("String_Node_Str",warningIsOpen);
      }
      if (errCnt > 0) {
        main.contextPut("String_Node_Str",Boolean.TRUE);
        main.contextPut("String_Node_Str",errorIsForNode);
        main.contextPut("String_Node_Str",errorMessage);
        main.contextPut("String_Node_Str",errorHelpWizardLink);
        main.contextPut("String_Node_Str",new String[]{Integer.toString(errCnt)});
        main.contextPut("String_Node_Str",errorIsOpen);
      }
    }
 else {
      main.contextPut("String_Node_Str",Boolean.FALSE);
      main.contextPut("String_Node_Str",Boolean.FALSE);
    }
  }
}