Program: 62862
Project: 62862
Buggy source:
@Override public ActionResult execute() throws EntityDoesNotExistException {
  String courseId=getRequestParamValue(Const.ParamsNames.COURSE_ID);
  Assumption.assertNotNull(courseId);
  String instructorId=getRequestParamValue(Const.ParamsNames.INSTRUCTOR_ID);
  InstructorAttributes instructor=logic.getInstructorForGoogleId(courseId,account.googleId);
  CourseAttributes courseToEdit=logic.getCourse(courseId);
  new GateKeeper().verifyAccessible(instructor,courseToEdit);
  InstructorCourseEditPageData data=new InstructorCourseEditPageData(account);
  data.course=courseToEdit;
  if (instructorId == null) {
    data.instructorList=logic.getInstructorsForCourse(courseId);
    data.isAccessControlDisplayed=false;
  }
 else {
    data.instructorList=new ArrayList<InstructorAttributes>();
    data.instructorList.add(logic.getInstructorForGoogleId(courseId,instructorId));
    data.isAccessControlDisplayed=true;
  }
  data.currentInstructor=instructor;
  data.sectionNames=logic.getSectionNamesForCourse(courseId);
  data.evalNames=new ArrayList<String>();
  data.feedbackNames=new ArrayList<String>();
  List<EvaluationAttributes> evaluations=logic.getEvaluationsForCourse(courseId);
  for (  EvaluationAttributes eval : evaluations) {
    data.evalNames.add(eval.name);
  }
  List<FeedbackSessionAttributes> feedbacks=logic.getFeedbackSessionsForCourse(courseId);
  for (  FeedbackSessionAttributes feedback : feedbacks) {
    data.feedbackNames.add(feedback.feedbackSessionName);
  }
  statusToAdmin="String_Node_Str" + "String_Node_Str" + courseId + "String_Node_Str";
  ShowPageResult response=createShowPageResult(Const.ViewURIs.INSTRUCTOR_COURSE_EDIT,data);
  return response;
}

Fixed version (ground truth):
@Override public ActionResult execute() throws EntityDoesNotExistException {
  String courseId=getRequestParamValue(Const.ParamsNames.COURSE_ID);
  Assumption.assertNotNull(courseId);
  String instructorEmail=getRequestParamValue(Const.ParamsNames.INSTRUCTOR_EMAIL);
  String index=getRequestParamValue(Const.ParamsNames.COURSE_EDIT_MAIN_INDEX);
  InstructorAttributes instructor=logic.getInstructorForGoogleId(courseId,account.googleId);
  CourseAttributes courseToEdit=logic.getCourse(courseId);
  new GateKeeper().verifyAccessible(instructor,courseToEdit);
  InstructorCourseEditPageData data=new InstructorCourseEditPageData(account);
  data.course=courseToEdit;
  if (instructorEmail == null) {
    data.instructorList=logic.getInstructorsForCourse(courseId);
    data.isAccessControlDisplayed=false;
  }
 else {
    data.instructorList=new ArrayList<InstructorAttributes>();
    data.instructorList.add(logic.getInstructorForEmail(courseId,instructorEmail));
    data.index=Integer.parseInt(index);
    data.isAccessControlDisplayed=true;
  }
  data.currentInstructor=instructor;
  data.sectionNames=logic.getSectionNamesForCourse(courseId);
  data.evalNames=new ArrayList<String>();
  data.feedbackNames=new ArrayList<String>();
  List<EvaluationAttributes> evaluations=logic.getEvaluationsForCourse(courseId);
  for (  EvaluationAttributes eval : evaluations) {
    data.evalNames.add(eval.name);
  }
  List<FeedbackSessionAttributes> feedbacks=logic.getFeedbackSessionsForCourse(courseId);
  for (  FeedbackSessionAttributes feedback : feedbacks) {
    data.feedbackNames.add(feedback.feedbackSessionName);
  }
  statusToAdmin="String_Node_Str" + "String_Node_Str" + courseId + "String_Node_Str";
  ShowPageResult response=createShowPageResult(Const.ViewURIs.INSTRUCTOR_COURSE_EDIT,data);
  return response;
}