Program: 62839
Project: 62839
Buggy source:
@Override public String getQuestionWithExistingResponseSubmissionFormHtml(boolean sessionIsOpen,int qnIdx,int responseIdx,String courseId,FeedbackResponseDetails existingResponseDetails){
  FeedbackRubricResponseDetails frd=(FeedbackRubricResponseDetails)existingResponseDetails;
  System.out.println(frd.getAnswerString());
  String questionNumberString=Integer.toString(qnIdx);
  String responseNumberString=Integer.toString(responseIdx);
  StringBuilder tableHeaderFragmentHtml=new StringBuilder();
  String tableHeaderFragmentTemplate=FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM_HEADER_FRAGMENT;
  for (int i=0; i < numOfRubricChoices; i++) {
    String optionFragment=FeedbackQuestionFormTemplates.populateTemplate(tableHeaderFragmentTemplate,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(i),"String_Node_Str",rubricChoices.get(i));
    tableHeaderFragmentHtml.append(optionFragment + Const.EOL);
  }
  StringBuilder tableBodyHtml=new StringBuilder();
  String tableBodyFragmentTemplate=FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM_BODY_FRAGMENT;
  String tableBodyTemplate=FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM_BODY;
  for (int j=0; j < numOfRubricSubQuestions; j++) {
    StringBuilder tableBodyFragmentHtml=new StringBuilder();
    for (int i=0; i < numOfRubricChoices; i++) {
      String optionFragment=FeedbackQuestionFormTemplates.populateTemplate(tableBodyFragmentTemplate,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(i),"String_Node_Str",Integer.toString(j),"String_Node_Str",this.getDescription(j,i),"String_Node_Str",(frd.getAnswer(j) == i) ? "String_Node_Str" : "String_Node_Str","String_Node_Str",Const.ParamsNames.FEEDBACK_QUESTION_RUBRICCHOICE);
      tableBodyFragmentHtml.append(optionFragment + Const.EOL);
    }
    String optionFragment2=FeedbackQuestionFormTemplates.populateTemplate(tableBodyTemplate,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(j),"String_Node_Str",rubricSubQuestions.get(j),"String_Node_Str",tableBodyFragmentHtml.toString());
    tableBodyHtml.append(optionFragment2 + Const.EOL);
  }
  String html=FeedbackQuestionFormTemplates.populateTemplate(FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(this.numOfRubricSubQuestions),"String_Node_Str",Integer.toString(this.numOfRubricChoices),"String_Node_Str",tableHeaderFragmentHtml.toString(),"String_Node_Str",tableBodyHtml.toString(),"String_Node_Str",Const.ParamsNames.FEEDBACK_RESPONSE_TEXT);
  return html;
}

Fixed version (ground truth):
@Override public String getQuestionWithExistingResponseSubmissionFormHtml(boolean sessionIsOpen,int qnIdx,int responseIdx,String courseId,FeedbackResponseDetails existingResponseDetails){
  FeedbackRubricResponseDetails frd=(FeedbackRubricResponseDetails)existingResponseDetails;
  String questionNumberString=Integer.toString(qnIdx);
  String responseNumberString=Integer.toString(responseIdx);
  StringBuilder tableHeaderFragmentHtml=new StringBuilder();
  String tableHeaderFragmentTemplate=FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM_HEADER_FRAGMENT;
  for (int i=0; i < numOfRubricChoices; i++) {
    String optionFragment=FeedbackQuestionFormTemplates.populateTemplate(tableHeaderFragmentTemplate,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(i),"String_Node_Str",rubricChoices.get(i));
    tableHeaderFragmentHtml.append(optionFragment + Const.EOL);
  }
  StringBuilder tableBodyHtml=new StringBuilder();
  String tableBodyFragmentTemplate=FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM_BODY_FRAGMENT;
  String tableBodyTemplate=FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM_BODY;
  for (int j=0; j < numOfRubricSubQuestions; j++) {
    StringBuilder tableBodyFragmentHtml=new StringBuilder();
    for (int i=0; i < numOfRubricChoices; i++) {
      String optionFragment=FeedbackQuestionFormTemplates.populateTemplate(tableBodyFragmentTemplate,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(i),"String_Node_Str",Integer.toString(j),"String_Node_Str",this.getDescription(j,i),"String_Node_Str",(frd.getAnswer(j) == i) ? "String_Node_Str" : "String_Node_Str","String_Node_Str",Const.ParamsNames.FEEDBACK_QUESTION_RUBRICCHOICE);
      tableBodyFragmentHtml.append(optionFragment + Const.EOL);
    }
    String optionFragment2=FeedbackQuestionFormTemplates.populateTemplate(tableBodyTemplate,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(j),"String_Node_Str",StringHelper.integerToBase26String(j + 1) + "String_Node_Str" + rubricSubQuestions.get(j),"String_Node_Str",tableBodyFragmentHtml.toString());
    tableBodyHtml.append(optionFragment2 + Const.EOL);
  }
  String html=FeedbackQuestionFormTemplates.populateTemplate(FeedbackQuestionFormTemplates.RUBRIC_SUBMISSION_FORM,"String_Node_Str",questionNumberString,"String_Node_Str",responseNumberString,"String_Node_Str",Integer.toString(this.numOfRubricSubQuestions),"String_Node_Str",Integer.toString(this.numOfRubricChoices),"String_Node_Str",tableHeaderFragmentHtml.toString(),"String_Node_Str",tableBodyHtml.toString(),"String_Node_Str",Const.ParamsNames.FEEDBACK_RESPONSE_TEXT);
  return html;
}