Program: 86131
Project: 86131
Buggy source:
@Override public AccountData account(Account acc) throws IOException, JSONException, OpacErrorException {
  start();
  int resultNum;
  if (!login(acc)) {
    return null;
  }
  String html=httpGet(opac_url + "String_Node_Str",ENCODING);
  List<LentItem> medien=new ArrayList<>();
  Document doc=Jsoup.parse(html);
  doc.setBaseUri(opac_url);
  parse_medialist(medien,doc,1,data);
  Map<String,Integer> links=getAccountPageLinks(doc);
  for (  Map.Entry<String,Integer> link : links.entrySet()) {
    html=httpGet(link.getKey(),ENCODING);
    parse_medialist(medien,Jsoup.parse(html),link.getValue(),data);
  }
  if (doc.select("String_Node_Str").size() > 0) {
    resultNum=0;
    String rNum=doc.select("String_Node_Str").first().text().trim().replaceAll("String_Node_Str","String_Node_Str");
    if (rNum.length() > 0) {
      resultNum=Integer.parseInt(rNum);
    }
    assert(resultNum == medien.size());
  }
  html=httpGet(opac_url + "String_Node_Str",ENCODING);
  List<ReservedItem> reserved=new ArrayList<>();
  doc=Jsoup.parse(html);
  doc.setBaseUri(opac_url);
  parse_reslist("String_Node_Str",reserved,doc,1);
  Elements label6=doc.select("String_Node_Str");
  links=getAccountPageLinks(doc);
  for (  Map.Entry<String,Integer> link : links.entrySet()) {
    html=httpGet(link.getKey(),ENCODING);
    parse_reslist("String_Node_Str",reserved,Jsoup.parse(html),link.getValue());
  }
  html=httpGet(opac_url + "String_Node_Str",ENCODING);
  doc=Jsoup.parse(html);
  doc.setBaseUri(opac_url);
  parse_reslist("String_Node_Str",reserved,doc,1);
  links=getAccountPageLinks(doc);
  for (  Map.Entry<String,Integer> link : links.entrySet()) {
    html=httpGet(link.getKey(),ENCODING);
    parse_reslist("String_Node_Str",reserved,Jsoup.parse(html),link.getValue());
  }
  if (label6.size() > 0 && doc.select("String_Node_Str").size() > 0) {
    resultNum=0;
    String rNum=label6.text().trim().replaceAll("String_Node_Str","String_Node_Str");
    if (rNum.length() > 0) {
      resultNum=Integer.parseInt(rNum);
    }
    rNum=doc.select("String_Node_Str").text().trim().replaceAll("String_Node_Str","String_Node_Str");
    if (rNum.length() > 0) {
      resultNum+=Integer.parseInt(rNum);
    }
    assert(resultNum == reserved.size());
  }
  AccountData res=new AccountData(acc.getId());
  parse_fees(doc,res);
  Pattern p=Pattern.compile("String_Node_Str",Pattern.MULTILINE);
  if (doc.select("String_Node_Str").size() > 0) {
    for (    Element box : doc.select("String_Node_Str")) {
      if (box.select("String_Node_Str").size() == 1) {
        String text=box.select("String_Node_Str").text();
        if (text.equals("String_Node_Str")) {
          text=box.text();
          text=p.matcher(text).replaceAll("String_Node_Str");
          res.setValidUntil(text);
        }
      }
    }
  }
  res.setLent(medien);
  res.setReservations(reserved);
  return res;
}

Fixed version (ground truth):
@Override public AccountData account(Account acc) throws IOException, JSONException, OpacErrorException {
  start();
  int resultNum;
  if (!login(acc)) {
    return null;
  }
  String html=httpGet(opac_url + "String_Node_Str",ENCODING);
  List<LentItem> medien=new ArrayList<>();
  Document doc=Jsoup.parse(html);
  doc.setBaseUri(opac_url);
  parse_medialist(medien,doc,1,data);
  loadPages(medien,doc,SISIS::parse_medialist);
  Map<String,Integer> links;
  if (doc.select("String_Node_Str").size() > 0) {
    resultNum=0;
    String rNum=doc.select("String_Node_Str").first().text().trim().replaceAll("String_Node_Str","String_Node_Str");
    if (rNum.length() > 0) {
      resultNum=Integer.parseInt(rNum);
    }
    assert(resultNum == medien.size());
  }
  html=httpGet(opac_url + "String_Node_Str",ENCODING);
  List<ReservedItem> reserved=new ArrayList<>();
  doc=Jsoup.parse(html);
  doc.setBaseUri(opac_url);
  parse_reslist("String_Node_Str",reserved,doc,1,data);
  Elements label6=doc.select("String_Node_Str");
  loadPages(reserved,doc,SISIS::parse_reslist6);
  html=httpGet(opac_url + "String_Node_Str",ENCODING);
  doc=Jsoup.parse(html);
  doc.setBaseUri(opac_url);
  parse_reslist("String_Node_Str",reserved,doc,1,data);
  loadPages(reserved,doc,SISIS::parse_reslist7);
  if (label6.size() > 0 && doc.select("String_Node_Str").size() > 0) {
    resultNum=0;
    String rNum=label6.text().trim().replaceAll("String_Node_Str","String_Node_Str");
    if (rNum.length() > 0) {
      resultNum=Integer.parseInt(rNum);
    }
    rNum=doc.select("String_Node_Str").text().trim().replaceAll("String_Node_Str","String_Node_Str");
    if (rNum.length() > 0) {
      resultNum+=Integer.parseInt(rNum);
    }
    assert(resultNum == reserved.size());
  }
  AccountData res=new AccountData(acc.getId());
  parse_fees(doc,res);
  Pattern p=Pattern.compile("String_Node_Str",Pattern.MULTILINE);
  if (doc.select("String_Node_Str").size() > 0) {
    for (    Element box : doc.select("String_Node_Str")) {
      if (box.select("String_Node_Str").size() == 1) {
        String text=box.select("String_Node_Str").text();
        if (text.equals("String_Node_Str")) {
          text=box.text();
          text=p.matcher(text).replaceAll("String_Node_Str");
          res.setValidUntil(text);
        }
      }
    }
  }
  res.setLent(medien);
  res.setReservations(reserved);
  return res;
}