Program: 62693
Project: 62693
Buggy source:
/** 
 * Converts the query string into a QueryParameters object.
 */
private QueryParameters parseQuery(String query) throws ParseException, InvalidParametersException {
  QueryParameters q=new QueryParameters();
  versions=new ArrayList<>();
  if (query == null || query.isEmpty()) {
    return q;
  }
  String[] tokens=query.replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").split("String_Node_Str",-1);
  for (  String token : tokens) {
    String[] pair=token.split("String_Node_Str",-1);
    if (pair.length != 2) {
      throw new InvalidParametersException("String_Node_Str");
    }
    String[] values=pair[1].split("String_Node_Str",-1);
    values=StringHelper.trim(values);
    String label=pair[0].trim();
    if ("String_Node_Str".equals(label)) {
      for (      String value : values) {
        versions.add(value.replace("String_Node_Str","String_Node_Str"));
      }
    }
 else     if ("String_Node_Str".equals(label)) {
      fromDateValue=LocalDate.parse(values[0],DateTimeFormatter.ofPattern("String_Node_Str")).atStartOfDay(Const.SystemParams.ADMIN_TIME_ZONE).toInstant().toEpochMilli();
      isFromDateSpecifiedInQuery=true;
    }
 else     if ("String_Node_Str".equals(label)) {
      toDateValue=LocalDate.parse(values[0],DateTimeFormatter.ofPattern("String_Node_Str")).atTime(LocalTime.MAX).atZone(Const.SystemParams.ADMIN_TIME_ZONE).toInstant().toEpochMilli();
    }
 else {
      q.add(label,values);
    }
  }
  return q;
}

Fixed version (ground truth):
/** 
 * Converts the query string into a QueryParameters object.
 */
private QueryParameters parseQuery(String query) throws ParseException, InvalidParametersException {
  QueryParameters q=new QueryParameters();
  versions=new ArrayList<>();
  if (query == null || query.isEmpty()) {
    return q;
  }
  String[] tokens=query.replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").split("String_Node_Str",-1);
  for (  String token : tokens) {
    String[] pair=token.split("String_Node_Str",-1);
    if (pair.length != 2) {
      throw new InvalidParametersException("String_Node_Str");
    }
    String label=pair[0].trim().toLowerCase();
    String[] values=pair[1].split("String_Node_Str",-1);
    values=StringHelper.trim(values);
    if (!("String_Node_Str".equals(label))) {
      values=StringHelper.toLowerCase(values);
    }
    if ("String_Node_Str".equals(label)) {
      for (      String value : values) {
        versions.add(value.replace("String_Node_Str","String_Node_Str"));
      }
    }
 else     if ("String_Node_Str".equals(label)) {
      fromDateValue=LocalDate.parse(values[0],DateTimeFormatter.ofPattern("String_Node_Str")).atStartOfDay(Const.SystemParams.ADMIN_TIME_ZONE).toInstant().toEpochMilli();
      isFromDateSpecifiedInQuery=true;
    }
 else     if ("String_Node_Str".equals(label)) {
      toDateValue=LocalDate.parse(values[0],DateTimeFormatter.ofPattern("String_Node_Str")).atTime(LocalTime.MAX).atZone(Const.SystemParams.ADMIN_TIME_ZONE).toInstant().toEpochMilli();
    }
 else {
      q.add(label,values);
    }
  }
  return q;
}