Program: 86270
Project: 86270
Buggy source:
protected void parse_medialist(List<Map<String,String>> medien,Document doc,int offset,String accountName) throws ClientProtocolException, IOException {
  Elements copytrs=doc.select("String_Node_Str");
  SimpleDateFormat sdf=new SimpleDateFormat("String_Node_Str",Locale.GERMAN);
  int trs=copytrs.size();
  if (trs < 1) {
    medien=null;
    return;
  }
  assert(trs > 0);
  for (int i=0; i < trs; i++) {
    Element tr=copytrs.get(i);
    if (tr.children().size() == 8) {
      Map<String,String> e=new HashMap<String,String>();
      if (tr.select("String_Node_Str").size() > 0)       e.put(AccountData.KEY_LENT_LINK,tr.select("String_Node_Str").attr("String_Node_Str"));
 else       e.put(AccountData.KEY_LENT_RENEWABLE,"String_Node_Str");
      Elements datatrs=tr.select("String_Node_Str");
      e.put(AccountData.KEY_LENT_TITLE,datatrs.get(0).text());
      List<TextNode> textNodes=datatrs.get(1).select("String_Node_Str").first().textNodes();
      List<TextNode> nodes=new ArrayList<TextNode>();
      Elements titles=datatrs.get(1).select("String_Node_Str");
      for (      TextNode node : textNodes) {
        if (!node.text().equals("String_Node_Str"))         nodes.add(node);
      }
      assert(nodes.size() == titles.size());
      for (int j=0; j < nodes.size(); j++) {
        String title=titles.get(j).text();
        String value=nodes.get(j).text().trim().replace("String_Node_Str","String_Node_Str");
        if (title.contains("String_Node_Str")) {
        }
 else         if (title.contains("String_Node_Str")) {
          e.put(AccountData.KEY_LENT_STATUS,value);
        }
 else         if (title.contains("String_Node_Str")) {
          e.put(AccountData.KEY_LENT_DEADLINE,value);
          try {
            e.put(AccountData.KEY_LENT_DEADLINE_TIMESTAMP,String.valueOf(sdf.parse(value).getTime()));
          }
 catch (          ParseException e1) {
            e1.printStackTrace();
          }
        }
 else         if (title.contains("String_Node_Str")) {
        }
      }
      medien.add(e);
    }
 else {
      String prolongCount="String_Node_Str";
      try {
        String html=httpGet(https_url + "String_Node_Str" + accountName+ "String_Node_Str"+ db+ "String_Node_Str"+ tr.child(1).select("String_Node_Str").attr("String_Node_Str"),getDefaultEncoding());
        prolongCount=Jsoup.parse(html).text();
      }
 catch (      IOException e) {
      }
      String reminderCount=tr.child(13).text().trim();
      if (reminderCount.indexOf("String_Node_Str") >= 0 && reminderCount.indexOf("String_Node_Str") >= 0 && reminderCount.indexOf("String_Node_Str") < reminderCount.indexOf("String_Node_Str"))       reminderCount=reminderCount.substring(reminderCount.indexOf("String_Node_Str") + 1,reminderCount.indexOf("String_Node_Str"));
 else       reminderCount="String_Node_Str";
      Map<String,String> e=new HashMap<String,String>();
      if (tr.child(4).text().trim().length() < 5 && tr.child(5).text().trim().length() > 4) {
        e.put(AccountData.KEY_LENT_TITLE,tr.child(5).text().trim());
      }
 else {
        e.put(AccountData.KEY_LENT_TITLE,tr.child(4).text().trim());
      }
      String status="String_Node_Str";
      if (!reminderCount.equals("String_Node_Str") && !reminderCount.equals("String_Node_Str")) {
        status+=reminderCount + "String_Node_Str" + stringProvider.getString(StringProvider.REMINDERS)+ "String_Node_Str";
      }
      status+=prolongCount + "String_Node_Str" + stringProvider.getString(StringProvider.PROLONGED_ABBR);
      e.put(AccountData.KEY_LENT_STATUS,status);
      e.put(AccountData.KEY_LENT_DEADLINE,tr.child(21).text().trim());
      try {
        e.put(AccountData.KEY_LENT_DEADLINE_TIMESTAMP,String.valueOf(sdf.parse(e.get(AccountData.KEY_LENT_DEADLINE)).getTime()));
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
      e.put(AccountData.KEY_LENT_LINK,tr.child(1).select("String_Node_Str").attr("String_Node_Str"));
      medien.add(e);
    }
  }
  assert(medien.size() == trs - 1);
}

Fixed version (ground truth):
protected void parse_medialist(List<Map<String,String>> medien,Document doc,int offset,String accountName) throws ClientProtocolException, IOException {
  Elements copytrs=doc.select("String_Node_Str");
  SimpleDateFormat sdf=new SimpleDateFormat("String_Node_Str",Locale.GERMAN);
  int trs=copytrs.size();
  if (trs < 1) {
    medien=null;
    return;
  }
  assert(trs > 0);
  for (int i=0; i < trs; i++) {
    Element tr=copytrs.get(i);
    if (tr.select("String_Node_Str").size() > 0) {
      Map<String,String> e=new HashMap<String,String>();
      if (tr.select("String_Node_Str").size() > 0)       e.put(AccountData.KEY_LENT_LINK,tr.select("String_Node_Str").attr("String_Node_Str"));
 else       e.put(AccountData.KEY_LENT_RENEWABLE,"String_Node_Str");
      Elements datatrs=tr.select("String_Node_Str");
      e.put(AccountData.KEY_LENT_TITLE,datatrs.get(0).text());
      List<TextNode> textNodes=datatrs.get(1).select("String_Node_Str").first().textNodes();
      List<TextNode> nodes=new ArrayList<TextNode>();
      Elements titles=datatrs.get(1).select("String_Node_Str");
      for (      TextNode node : textNodes) {
        if (!node.text().equals("String_Node_Str"))         nodes.add(node);
      }
      assert(nodes.size() == titles.size());
      for (int j=0; j < nodes.size(); j++) {
        String title=titles.get(j).text();
        String value=nodes.get(j).text().trim().replace("String_Node_Str","String_Node_Str");
        if (title.contains("String_Node_Str")) {
        }
 else         if (title.contains("String_Node_Str")) {
          e.put(AccountData.KEY_LENT_STATUS,value);
        }
 else         if (title.contains("String_Node_Str")) {
          e.put(AccountData.KEY_LENT_DEADLINE,value);
          try {
            e.put(AccountData.KEY_LENT_DEADLINE_TIMESTAMP,String.valueOf(sdf.parse(value).getTime()));
          }
 catch (          ParseException e1) {
            e1.printStackTrace();
          }
        }
 else         if (title.contains("String_Node_Str")) {
        }
      }
      medien.add(e);
    }
 else {
      String prolongCount="String_Node_Str";
      try {
        String html=httpGet(https_url + "String_Node_Str" + accountName+ "String_Node_Str"+ db+ "String_Node_Str"+ tr.child(1).select("String_Node_Str").attr("String_Node_Str"),getDefaultEncoding());
        prolongCount=Jsoup.parse(html).text();
      }
 catch (      IOException e) {
      }
      String reminderCount=tr.child(13).text().trim();
      if (reminderCount.indexOf("String_Node_Str") >= 0 && reminderCount.indexOf("String_Node_Str") >= 0 && reminderCount.indexOf("String_Node_Str") < reminderCount.indexOf("String_Node_Str"))       reminderCount=reminderCount.substring(reminderCount.indexOf("String_Node_Str") + 1,reminderCount.indexOf("String_Node_Str"));
 else       reminderCount="String_Node_Str";
      Map<String,String> e=new HashMap<String,String>();
      if (tr.child(4).text().trim().length() < 5 && tr.child(5).text().trim().length() > 4) {
        e.put(AccountData.KEY_LENT_TITLE,tr.child(5).text().trim());
      }
 else {
        e.put(AccountData.KEY_LENT_TITLE,tr.child(4).text().trim());
      }
      String status="String_Node_Str";
      if (!reminderCount.equals("String_Node_Str") && !reminderCount.equals("String_Node_Str")) {
        status+=reminderCount + "String_Node_Str" + stringProvider.getString(StringProvider.REMINDERS)+ "String_Node_Str";
      }
      status+=prolongCount + "String_Node_Str" + stringProvider.getString(StringProvider.PROLONGED_ABBR);
      e.put(AccountData.KEY_LENT_STATUS,status);
      e.put(AccountData.KEY_LENT_DEADLINE,tr.child(21).text().trim());
      try {
        e.put(AccountData.KEY_LENT_DEADLINE_TIMESTAMP,String.valueOf(sdf.parse(e.get(AccountData.KEY_LENT_DEADLINE)).getTime()));
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
      e.put(AccountData.KEY_LENT_LINK,tr.child(1).select("String_Node_Str").attr("String_Node_Str"));
      medien.add(e);
    }
  }
  assert(medien.size() == trs - 1);
}