Program: 86143
Project: 86143
Buggy source:
private DetailledItem parse_result(String html){
  DetailledItem item=new DetailledItem();
  Document document=Jsoup.parse(html);
  Elements rows=document.select("String_Node_Str");
  Detail detail=null;
  Copy copy_last_content=null;
  int copy_row=0;
  String[] copy_keys=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  int[] copy_map=new int[]{3,1,-1,1,4,-1,-1};
  try {
    JSONObject map=data.getJSONObject("String_Node_Str");
    for (int i=0; i < copy_keys.length; i++) {
      if (map.has(copy_keys[i])) {
        copy_map[i]=map.getInt(copy_keys[i]);
      }
    }
  }
 catch (  Exception e) {
  }
  DateTimeFormatter fmt=DateTimeFormat.forPattern("String_Node_Str").withLocale(Locale.GERMAN);
  for (  Element row : rows) {
    Elements columns=row.children();
    if (columns.size() == 2) {
      String firstColumn=columns.get(0).text().replace("String_Node_Str","String_Node_Str").trim();
      String secondColumn=columns.get(1).text().replace("String_Node_Str","String_Node_Str").trim();
      if (firstColumn.length() > 0) {
        if (firstColumn.equalsIgnoreCase("String_Node_Str")) {
          detail=null;
          item.setTitle(secondColumn);
        }
 else {
          if (secondColumn.contains("String_Node_Str") && columns.get(1).select("String_Node_Str").size() > 0) {
            secondColumn+="String_Node_Str" + columns.get(1).select("String_Node_Str").first().attr("String_Node_Str");
          }
          detail=new Detail(firstColumn,secondColumn);
          item.getDetails().add(detail);
        }
      }
 else {
        if (detail != null) {
          String content=detail.getContent() + "String_Node_Str" + secondColumn;
          detail.setContent(content);
        }
 else {
          if (columns.get(0).select("String_Node_Str").size() > 0) {
            item.setCover(columns.get(0).select("String_Node_Str").first().attr("String_Node_Str"));
          }
        }
      }
    }
 else     if (columns.size() > 3) {
      if (copy_row > 0) {
        Copy copy=new Copy();
        for (int j=0; j < copy_keys.length; j++) {
          int col=copy_map[j];
          if (col > -1) {
            String text="String_Node_Str";
            if (copy_keys[j].equals("String_Node_Str")) {
              text=columns.get(col).ownText().replace("String_Node_Str","String_Node_Str").trim();
            }
            if (text.length() == 0) {
              text=columns.get(col).text().replace("String_Node_Str","String_Node_Str").trim();
            }
            if (text.length() == 0) {
              if (copy_keys[j].equals("String_Node_Str")) {
                text="String_Node_Str";
              }
 else {
                if (copy_last_content != null) {
                  text=copy_last_content.get(copy_keys[j]);
                }
 else {
                  text="String_Node_Str";
                }
              }
            }
            if (copy_keys[j].equals("String_Node_Str")) {
              text=text.replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str");
            }
            try {
              copy.set(copy_keys[j],text,fmt);
            }
 catch (            IllegalArgumentException e) {
              e.printStackTrace();
            }
          }
        }
        if (copy.getBranch() != null && copy.getLocation() != null && copy.getLocation().equals(copy.getBranch())) {
          copy.setLocation(null);
        }
        item.addCopy(copy);
        copy_last_content=copy;
      }
      copy_row++;
    }
  }
  item.setReservable(true);
  if (opacDir.contains("String_Node_Str")) {
    if (document.select("String_Node_Str").size() > 0) {
      item.setReservation_info(document.select("String_Node_Str").first().attr("String_Node_Str"));
    }
 else     if (document.select("String_Node_Str" + opacSuffix + "String_Node_Str").size() > 0) {
      String href=document.select("String_Node_Str" + opacSuffix + "String_Node_Str").first().attr("String_Node_Str");
      item.setReservation_info(href.substring(href.indexOf("String_Node_Str")));
    }
 else {
      item.setReservable(false);
    }
  }
 else {
    item.setReservation_info(document.select("String_Node_Str").attr("String_Node_Str"));
  }
  return item;
}

Fixed version (ground truth):
private DetailedItem parse_result(String html){
  DetailedItem item=new DetailedItem();
  Document document=Jsoup.parse(html);
  Elements rows=document.select("String_Node_Str");
  Detail detail=null;
  Copy copy_last_content=null;
  int copy_row=0;
  String[] copy_keys=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  int[] copy_map=new int[]{3,1,-1,1,4,-1,-1};
  try {
    JSONObject map=data.getJSONObject("String_Node_Str");
    for (int i=0; i < copy_keys.length; i++) {
      if (map.has(copy_keys[i])) {
        copy_map[i]=map.getInt(copy_keys[i]);
      }
    }
  }
 catch (  Exception e) {
  }
  DateTimeFormatter fmt=DateTimeFormat.forPattern("String_Node_Str").withLocale(Locale.GERMAN);
  for (  Element row : rows) {
    Elements columns=row.children();
    if (columns.size() == 2) {
      String firstColumn=columns.get(0).text().replace("String_Node_Str","String_Node_Str").trim();
      String secondColumn=columns.get(1).text().replace("String_Node_Str","String_Node_Str").trim();
      if (firstColumn.length() > 0) {
        if (firstColumn.equalsIgnoreCase("String_Node_Str")) {
          detail=null;
          item.setTitle(secondColumn);
        }
 else {
          if (secondColumn.contains("String_Node_Str") && columns.get(1).select("String_Node_Str").size() > 0) {
            secondColumn+="String_Node_Str" + columns.get(1).select("String_Node_Str").first().attr("String_Node_Str");
          }
          detail=new Detail(firstColumn,secondColumn);
          item.getDetails().add(detail);
        }
      }
 else {
        if (detail != null) {
          String content=detail.getContent() + "String_Node_Str" + secondColumn;
          detail.setContent(content);
        }
 else {
          if (columns.get(0).select("String_Node_Str").size() > 0) {
            item.setCover(columns.get(0).select("String_Node_Str").first().attr("String_Node_Str"));
          }
        }
      }
    }
 else     if (columns.size() > 3) {
      if (copy_row > 0) {
        Copy copy=new Copy();
        for (int j=0; j < copy_keys.length; j++) {
          int col=copy_map[j];
          if (col > -1) {
            String text="String_Node_Str";
            if (copy_keys[j].equals("String_Node_Str")) {
              text=columns.get(col).ownText().replace("String_Node_Str","String_Node_Str").trim();
            }
            if (text.length() == 0) {
              text=columns.get(col).text().replace("String_Node_Str","String_Node_Str").trim();
            }
            if (text.length() == 0) {
              if (copy_keys[j].equals("String_Node_Str")) {
                text="String_Node_Str";
              }
 else {
                if (copy_last_content != null) {
                  text=copy_last_content.get(copy_keys[j]);
                }
 else {
                  text="String_Node_Str";
                }
              }
            }
            if (copy_keys[j].equals("String_Node_Str")) {
              text=text.replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str");
            }
            try {
              copy.set(copy_keys[j],text,fmt);
            }
 catch (            IllegalArgumentException e) {
              e.printStackTrace();
            }
          }
        }
        if (copy.getBranch() != null && copy.getLocation() != null && copy.getLocation().equals(copy.getBranch())) {
          copy.setLocation(null);
        }
        item.addCopy(copy);
        copy_last_content=copy;
      }
      copy_row++;
    }
  }
  item.setReservable(true);
  if (opacDir.contains("String_Node_Str")) {
    if (document.select("String_Node_Str").size() > 0) {
      item.setReservation_info(document.select("String_Node_Str").first().attr("String_Node_Str"));
    }
 else     if (document.select("String_Node_Str" + opacSuffix + "String_Node_Str").size() > 0) {
      String href=document.select("String_Node_Str" + opacSuffix + "String_Node_Str").first().attr("String_Node_Str");
      item.setReservation_info(href.substring(href.indexOf("String_Node_Str")));
    }
 else {
      item.setReservable(false);
    }
  }
 else {
    item.setReservation_info(document.select("String_Node_Str").attr("String_Node_Str"));
  }
  return item;
}