Program: 62890
Project: 62890
Buggy source:
private List<String> getInvalidityInfoInEnrollLines(String lines,String courseId) throws EnrollException {
  List<String> invalidityInfo=new ArrayList<String>();
  String[] linesArray=lines.split(Const.EOL);
  ArrayList<String> studentEmailList=new ArrayList<String>();
  StudentAttributesFactory saf=new StudentAttributesFactory(linesArray[0]);
  int startLine;
  if (saf.hasHeader()) {
    startLine=1;
    studentEmailList.add(new String());
  }
 else {
    startLine=0;
  }
  for (int i=startLine; i < linesArray.length; i++) {
    String line=linesArray[i];
    try {
      if (StringHelper.isWhiteSpace(line)) {
        continue;
      }
      StudentAttributes student=saf.makeStudent(line,courseId);
      if (!student.isValid()) {
        String info=StringHelper.toString(student.getInvalidityInfo(),"String_Node_Str" + Const.StatusMessages.ENROLL_LINES_PROBLEM_DETAIL_PREFIX + "String_Node_Str");
        invalidityInfo.add(String.format(Const.StatusMessages.ENROLL_LINES_PROBLEM,line,info));
      }
      if (isStudentEmailDuplicated(student.email,studentEmailList)) {
        String info=StringHelper.toString(getInvalidityInfoInDuplicatedEmail(student.email,studentEmailList,linesArray),"String_Node_Str" + Const.StatusMessages.ENROLL_LINES_PROBLEM_DETAIL_PREFIX + "String_Node_Str");
        invalidityInfo.add(String.format(Const.StatusMessages.ENROLL_LINES_PROBLEM,line,info));
      }
    }
 catch (    EnrollException e) {
      String info=String.format(Const.StatusMessages.ENROLL_LINES_PROBLEM,line,e.getMessage());
      invalidityInfo.add(info);
    }
  }
  return invalidityInfo;
}

Fixed version (ground truth):
private List<String> getInvalidityInfoInEnrollLines(String lines,String courseId) throws EnrollException {
  List<String> invalidityInfo=new ArrayList<String>();
  String[] linesArray=lines.split(Const.EOL);
  ArrayList<String> studentEmailList=new ArrayList<String>();
  StudentAttributesFactory saf=new StudentAttributesFactory(linesArray[0]);
  int startLine;
  if (saf.hasHeader()) {
    startLine=1;
    studentEmailList.add(new String());
  }
 else {
    startLine=0;
  }
  for (int i=startLine; i < linesArray.length; i++) {
    String line=linesArray[i];
    try {
      if (StringHelper.isWhiteSpace(line)) {
        continue;
      }
      StudentAttributes student=saf.makeStudent(line,courseId);
      if (!student.isValid()) {
        String info=StringHelper.toString(student.getInvalidityInfo(),"String_Node_Str" + Const.StatusMessages.ENROLL_LINES_PROBLEM_DETAIL_PREFIX + "String_Node_Str");
        invalidityInfo.add(String.format(Const.StatusMessages.ENROLL_LINES_PROBLEM,line,info));
      }
      if (isStudentEmailDuplicated(student.email,studentEmailList)) {
        String info=StringHelper.toString(getInvalidityInfoInDuplicatedEmail(student.email,studentEmailList,linesArray),"String_Node_Str" + Const.StatusMessages.ENROLL_LINES_PROBLEM_DETAIL_PREFIX + "String_Node_Str");
        invalidityInfo.add(String.format(Const.StatusMessages.ENROLL_LINES_PROBLEM,line,info));
      }
      studentEmailList.add(student.email);
    }
 catch (    EnrollException e) {
      String info=String.format(Const.StatusMessages.ENROLL_LINES_PROBLEM,line,e.getMessage());
      invalidityInfo.add(info);
    }
  }
  return invalidityInfo;
}