Program: 86142
Project: 86142
Buggy source:
DetailledItem parseResult(String id,Document doc) throws IOException, OpacErrorException {
  List<NameValuePair> nvpairs;
  DetailledItem res=new DetailledItem();
  if (doc.select("String_Node_Str").size() == 1) {
    String cover_url=doc.select("String_Node_Str").first().absUrl("String_Node_Str");
    if (!cover_url.endsWith("String_Node_Str")) {
      res.setCover(cover_url);
    }
  }
  for (  Element tr : doc.select("String_Node_Str")) {
    if (tr.children().size() < 2) {
      continue;
    }
    String title=tr.child(0).text().trim();
    String value=tr.child(1).text().trim();
    if (value.contains("String_Node_Str") || value.startsWith("String_Node_Str") || title.contains("String_Node_Str")) {
      res.addDetail(new Detail(title,tr.child(1).select("String_Node_Str").first().absUrl("String_Node_Str")));
    }
 else {
      res.addDetail(new Detail(title,value));
    }
    if (title.contains("String_Node_Str") && res.getTitle() == null) {
      res.setTitle(value.split("String_Node_Str")[0].trim());
    }
  }
  if (res.getTitle() == null) {
    for (    Detail d : res.getDetails()) {
      if (d.getDesc().contains("String_Node_Str")) {
        res.setTitle(d.getContent());
        break;
      }
    }
  }
  if (doc.select("String_Node_Str").size() > 0 && id != null) {
    res.setReservable(true);
    res.setReservation_info(id);
  }
  DateTimeFormatter fmt=DateTimeFormat.forPattern("String_Node_Str").withLocale(Locale.GERMAN);
  if (doc.select("String_Node_Str").size() > 0) {
    Element table=doc.select("String_Node_Str").first();
    Map<Integer,String> colmap=new HashMap<>();
    int i=0;
    for (    Element th : table.select("String_Node_Str")) {
      String head=th.text().trim();
      if (head.contains("String_Node_Str") || head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str") || head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str") || head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str") || head.contains("String_Node_Str") || head.contains("String_Node_Str")|| head.matches("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
      i++;
    }
    for (    Element tr : table.select("String_Node_Str")) {
      Copy copy=new Copy();
      for (      Entry<Integer,String> entry : colmap.entrySet()) {
        if (entry.getValue().equals("String_Node_Str")) {
          String status=tr.child(entry.getKey()).text().trim();
          String currentStatus=copy.getStatus() != null ? copy.getStatus() + "String_Node_Str" : "String_Node_Str";
          if (status.contains("String_Node_Str")) {
            copy.setStatus(currentStatus + status.split("String_Node_Str")[0]);
            try {
              copy.setReturnDate(fmt.parseLocalDate(status.split("String_Node_Str")[1]));
            }
 catch (            IllegalArgumentException e) {
              e.printStackTrace();
            }
          }
 else {
            copy.setStatus(currentStatus + status);
          }
        }
 else {
          copy.set(entry.getValue(),tr.child(entry.getKey()).text().trim());
        }
      }
      res.addCopy(copy);
    }
  }
  res.setId("String_Node_Str");
  return res;
}

Fixed version (ground truth):
DetailedItem parseResult(String id,Document doc) throws IOException, OpacErrorException {
  List<NameValuePair> nvpairs;
  DetailedItem res=new DetailedItem();
  if (doc.select("String_Node_Str").size() == 1) {
    String cover_url=doc.select("String_Node_Str").first().absUrl("String_Node_Str");
    if (!cover_url.endsWith("String_Node_Str")) {
      res.setCover(cover_url);
    }
  }
  for (  Element tr : doc.select("String_Node_Str")) {
    if (tr.children().size() < 2) {
      continue;
    }
    String title=tr.child(0).text().trim();
    String value=tr.child(1).text().trim();
    if (value.contains("String_Node_Str") || value.startsWith("String_Node_Str") || title.contains("String_Node_Str")) {
      res.addDetail(new Detail(title,tr.child(1).select("String_Node_Str").first().absUrl("String_Node_Str")));
    }
 else {
      res.addDetail(new Detail(title,value));
    }
    if (title.contains("String_Node_Str") && res.getTitle() == null) {
      res.setTitle(value.split("String_Node_Str")[0].trim());
    }
  }
  if (res.getTitle() == null) {
    for (    Detail d : res.getDetails()) {
      if (d.getDesc().contains("String_Node_Str")) {
        res.setTitle(d.getContent());
        break;
      }
    }
  }
  if (doc.select("String_Node_Str").size() > 0 && id != null) {
    res.setReservable(true);
    res.setReservation_info(id);
  }
  DateTimeFormatter fmt=DateTimeFormat.forPattern("String_Node_Str").withLocale(Locale.GERMAN);
  if (doc.select("String_Node_Str").size() > 0) {
    Element table=doc.select("String_Node_Str").first();
    Map<Integer,String> colmap=new HashMap<>();
    int i=0;
    for (    Element th : table.select("String_Node_Str")) {
      String head=th.text().trim();
      if (head.contains("String_Node_Str") || head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str") || head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str") || head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
 else       if (head.contains("String_Node_Str") || head.contains("String_Node_Str") || head.contains("String_Node_Str")|| head.matches("String_Node_Str")) {
        colmap.put(i,"String_Node_Str");
      }
      i++;
    }
    for (    Element tr : table.select("String_Node_Str")) {
      Copy copy=new Copy();
      for (      Entry<Integer,String> entry : colmap.entrySet()) {
        if (entry.getValue().equals("String_Node_Str")) {
          String status=tr.child(entry.getKey()).text().trim();
          String currentStatus=copy.getStatus() != null ? copy.getStatus() + "String_Node_Str" : "String_Node_Str";
          if (status.contains("String_Node_Str")) {
            copy.setStatus(currentStatus + status.split("String_Node_Str")[0]);
            try {
              copy.setReturnDate(fmt.parseLocalDate(status.split("String_Node_Str")[1]));
            }
 catch (            IllegalArgumentException e) {
              e.printStackTrace();
            }
          }
 else {
            copy.setStatus(currentStatus + status);
          }
        }
 else {
          copy.set(entry.getValue(),tr.child(entry.getKey()).text().trim());
        }
      }
      res.addCopy(copy);
    }
  }
  res.setId("String_Node_Str");
  return res;
}