Program: 86320
Project: 86320
Buggy source:
protected DetailledItem parse_result(String html) throws IOException {
  Document doc=Jsoup.parse(html);
  DetailledItem result=new DetailledItem();
  String id=opac_url + doc.select("String_Node_Str").get(0).parent().attr("String_Node_Str");
  result.setId(id);
  String titleAndSubtitle="String_Node_Str";
  if (doc.select("String_Node_Str").size() > 0) {
    titleAndSubtitle=doc.select("String_Node_Str").first().text().trim();
    String title=titleAndSubtitle.substring(0,titleAndSubtitle.indexOf("String_Node_Str")).trim();
    result.setTitle(title);
    String subtitle=titleAndSubtitle.substring(titleAndSubtitle.indexOf("String_Node_Str") + 1).trim();
    result.addDetail(new Detail("String_Node_Str",subtitle));
  }
 else   if (doc.select("String_Node_Str").size() > 0) {
    titleAndSubtitle=doc.select("String_Node_Str").first().text().trim();
    String title=titleAndSubtitle.substring(0,titleAndSubtitle.indexOf("String_Node_Str")).trim();
    result.setTitle(title);
    String subtitle=titleAndSubtitle.substring(titleAndSubtitle.indexOf("String_Node_Str") + 1).trim();
    result.addDetail(new Detail("String_Node_Str",subtitle));
  }
 else {
    result.setTitle("String_Node_Str");
  }
  ContentValues e=new ContentValues();
  String location="String_Node_Str";
  for (  Element element : doc.select("String_Node_Str")) {
    String detail=element.text().trim();
    String title=element.firstElementSibling().text().trim().replace("String_Node_Str","String_Node_Str");
    if (element.select("String_Node_Str").size() > 0 && location != "String_Node_Str") {
      e.put(DetailledItem.KEY_COPY_BRANCH,location);
      result.addCopy(e);
      location="String_Node_Str";
      e=new ContentValues();
    }
    if (!title.equals("String_Node_Str")) {
      if (title.indexOf("String_Node_Str") != -1) {
        title=title.substring(0,title.indexOf("String_Node_Str"));
      }
      if (title.contains("String_Node_Str")) {
        e.put(DetailledItem.KEY_COPY_STATUS,detail);
      }
 else       if (title.contains("String_Node_Str")) {
        location+=detail;
      }
 else       if (title.contains("String_Node_Str")) {
        location+="String_Node_Str" + detail;
      }
 else       if (title.contains("String_Node_Str")) {
        e.put(DetailledItem.KEY_COPY_LOCATION,detail);
      }
 else       if (title.contains("String_Node_Str")) {
        e.put(DetailledItem.KEY_COPY_SHELFMARK,detail);
      }
 else       if (title.contains("String_Node_Str")) {
        detail=detail.replace("String_Node_Str","String_Node_Str").trim();
        detail=detail.replace("String_Node_Str","String_Node_Str");
        detail=detail.replace("String_Node_Str","String_Node_Str");
        e.put(DetailledItem.KEY_COPY_STATUS,detail);
      }
 else       if (!title.contains("String_Node_Str")) {
        result.addDetail(new Detail(title,detail));
      }
    }
  }
  e.put(DetailledItem.KEY_COPY_BRANCH,location);
  result.addCopy(e);
  return result;
}

Fixed version (ground truth):
protected DetailledItem parse_result(String html) throws IOException {
  Document doc=Jsoup.parse(html);
  DetailledItem result=new DetailledItem();
  String id=opac_url + doc.select("String_Node_Str").get(0).parent().attr("String_Node_Str");
  result.setId(id);
  String titleAndSubtitle="String_Node_Str";
  if (doc.select("String_Node_Str").size() > 0) {
    titleAndSubtitle=doc.select("String_Node_Str").first().text().trim();
    int slashPosition=titleAndSubtitle.indexOf("String_Node_Str");
    String title;
    String subtitle;
    if (slashPosition > 0) {
      title=titleAndSubtitle.substring(0,slashPosition).trim();
      subtitle=titleAndSubtitle.substring(slashPosition + 1).trim();
    }
 else {
      title=titleAndSubtitle;
      subtitle="String_Node_Str";
    }
    result.setTitle(title);
    result.addDetail(new Detail("String_Node_Str",subtitle));
  }
 else   if (doc.select("String_Node_Str").size() > 0) {
    titleAndSubtitle=doc.select("String_Node_Str").first().text().trim();
    String title=titleAndSubtitle.substring(0,titleAndSubtitle.indexOf("String_Node_Str")).trim();
    result.setTitle(title);
    String subtitle=titleAndSubtitle.substring(titleAndSubtitle.indexOf("String_Node_Str") + 1).trim();
    result.addDetail(new Detail("String_Node_Str",subtitle));
  }
 else {
    result.setTitle("String_Node_Str");
  }
  ContentValues e=new ContentValues();
  String location="String_Node_Str";
  for (  Element element : doc.select("String_Node_Str")) {
    String detail=element.text().trim();
    String title=element.firstElementSibling().text().trim().replace("String_Node_Str","String_Node_Str");
    if (element.select("String_Node_Str").size() > 0 && location != "String_Node_Str") {
      e.put(DetailledItem.KEY_COPY_BRANCH,location);
      result.addCopy(e);
      location="String_Node_Str";
      e=new ContentValues();
    }
    if (!title.equals("String_Node_Str")) {
      if (title.indexOf("String_Node_Str") != -1) {
        title=title.substring(0,title.indexOf("String_Node_Str"));
      }
      if (title.contains("String_Node_Str")) {
        e.put(DetailledItem.KEY_COPY_STATUS,detail);
      }
 else       if (title.contains("String_Node_Str")) {
        location+=detail;
      }
 else       if (title.contains("String_Node_Str")) {
        location+="String_Node_Str" + detail;
      }
 else       if (title.contains("String_Node_Str")) {
        e.put(DetailledItem.KEY_COPY_LOCATION,detail);
      }
 else       if (title.contains("String_Node_Str")) {
        e.put(DetailledItem.KEY_COPY_SHELFMARK,detail);
      }
 else       if (title.contains("String_Node_Str")) {
        detail=detail.replace("String_Node_Str","String_Node_Str").trim();
        detail=detail.replace("String_Node_Str","String_Node_Str");
        detail=detail.replace("String_Node_Str","String_Node_Str");
        e.put(DetailledItem.KEY_COPY_STATUS,detail);
      }
 else       if (!title.contains("String_Node_Str")) {
        result.addDetail(new Detail(title,detail));
      }
    }
  }
  e.put(DetailledItem.KEY_COPY_BRANCH,location);
  result.addCopy(e);
  return result;
}