Program: 53119
Project: 53119
Buggy source:
private void getStations(JsonArray array){
  ListIterator l=array.listIterator();
  while (l.hasNext()) {
    JsonObject object=(JsonObject)l.next();
    boolean bType=object.containsKey("String_Node_Str");
    boolean bKey=object.containsKey("String_Node_Str");
    String type="String_Node_Str";
    String key="String_Node_Str";
    if (bType) {
      type=object.getString("String_Node_Str");
    }
    if (bKey) {
      key=object.getString("String_Node_Str");
    }
    if (bType || bKey) {
      if (type.equalsIgnoreCase("String_Node_Str")) {
        if (type.equalsIgnoreCase("String_Node_Str")) {
          JsonArray children=object.getJsonArray("String_Node_Str");
{
            if (children != null) {
              getStations(children);
            }
          }
        }
      }
 else       if (key.equalsIgnoreCase("String_Node_Str")) {
        JsonArray children=object.getJsonArray("String_Node_Str");
{
          if (children != null) {
            getStations(children);
          }
        }
      }
 else {
        boolean bItem=object.containsKey("String_Node_Str");
        if (bType && bItem) {
          if (object.getString("String_Node_Str").toLowerCase().equalsIgnoreCase("String_Node_Str") && object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str")) {
            String url=object.getString("String_Node_Str");
            log.debug("String_Node_Str" + url);
            getJsonFromURL(url + "String_Node_Str" + "String_Node_Str");
          }
 else           if (object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str") || object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str") || object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str")) {
            String text=getString(object,"String_Node_Str");
            String url=getString(object,"String_Node_Str");
            url=tidyURL(url);
            String image=getString(object,"String_Node_Str");
            String preset_id=getString(object,"String_Node_Str");
            preset_id=preset_id.replaceAll("String_Node_Str","String_Node_Str");
            String item=getString(object,"String_Node_Str");
            boolean icy_reverse=getBoolean(object,"String_Node_Str",false);
            boolean keep_url=getBoolean(object,"String_Node_Str",false);
            addChannel(text,url,image,icy_reverse,preset_id,item,keep_url);
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
private void getStations(JsonArray array){
  ListIterator l=array.listIterator();
  while (l.hasNext()) {
    JsonObject object=(JsonObject)l.next();
    boolean bType=object.containsKey("String_Node_Str");
    boolean bKey=object.containsKey("String_Node_Str");
    String type="String_Node_Str";
    String key="String_Node_Str";
    if (bType) {
      type=object.getString("String_Node_Str");
    }
    if (bKey) {
      key=object.getString("String_Node_Str");
    }
    if (bType || bKey) {
      if (type.equalsIgnoreCase("String_Node_Str")) {
        if (type.equalsIgnoreCase("String_Node_Str")) {
          JsonArray children=object.getJsonArray("String_Node_Str");
{
            if (children != null) {
              log.debug("String_Node_Str");
              getStations(children);
            }
          }
        }
      }
      if (key.equalsIgnoreCase("String_Node_Str")) {
        JsonArray children=object.getJsonArray("String_Node_Str");
{
          if (children != null) {
            log.debug("String_Node_Str");
            getStations(children);
          }
        }
      }
      if (key.equalsIgnoreCase("String_Node_Str")) {
        JsonArray children=object.getJsonArray("String_Node_Str");
        if (children != null) {
          log.debug("String_Node_Str");
          getStations(children);
        }
      }
      if (key.equalsIgnoreCase("String_Node_Str")) {
        JsonArray children=object.getJsonArray("String_Node_Str");
        if (children != null) {
          log.debug("String_Node_Str");
          getStations(children);
        }
      }
      boolean bItem=object.containsKey("String_Node_Str");
      if (bType && bItem) {
        if (object.getString("String_Node_Str").toLowerCase().equalsIgnoreCase("String_Node_Str") && object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str")) {
          String url=object.getString("String_Node_Str");
          log.debug("String_Node_Str" + url);
          getJsonFromURL(url + "String_Node_Str" + "String_Node_Str");
        }
 else         if (object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str") || object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str") || object.getString("String_Node_Str").equalsIgnoreCase("String_Node_Str")) {
          String text=getString(object,"String_Node_Str");
          String url=getString(object,"String_Node_Str");
          url=tidyURL(url);
          String image=getString(object,"String_Node_Str");
          String preset_id=getString(object,"String_Node_Str");
          preset_id=preset_id.replaceAll("String_Node_Str","String_Node_Str");
          String item=getString(object,"String_Node_Str");
          boolean icy_reverse=getBoolean(object,"String_Node_Str",false);
          boolean keep_url=getBoolean(object,"String_Node_Str",false);
          addChannel(text,url,image,icy_reverse,preset_id,item,keep_url);
        }
      }
    }
  }
}