Program: 81111
Project: 81111
Buggy source:
/** 
 * Loads the current version notes from online. This retreives all of the version notes possible and stores them in one String, with each line separated by a line break (\n). Note that this method takes several seconds to load and should be run in a background Thread. Note that this also parses tokens from the version notes (and does not add them into the version notes String). Currently the only token read is SETSHOWCLIXID, which is obsolete due to the program loading the most recent Showclix ID after the version notes.
 * @see paxchecker.PAXChecker#loadPatchNotesInBackground()
 * @see #getVersionNotes()
 */
public static void loadVersionNotes(){
  URLConnection inputConnection;
  InputStream textInputStream;
  BufferedReader myReader=null;
  try {
    URL patchNotesURL=new URL(PATCH_NOTES_LINK);
    inputConnection=patchNotesURL.openConnection();
    textInputStream=inputConnection.getInputStream();
    myReader=new BufferedReader(new InputStreamReader(textInputStream));
    String line;
    String lineSeparator=System.getProperty("String_Node_Str","String_Node_Str");
    String allText="String_Node_Str";
    boolean versionFound=false;
    while ((line=myReader.readLine()) != null) {
      DataTracker.addDataUsed(line.length());
      line=line.trim();
      if (line.contains("String_Node_Str" + PAXChecker.VERSION + "String_Node_Str")) {
        setUpdateLevel(0);
        versionFound=true;
      }
      if (line.startsWith("String_Node_Str")) {
        try {
          String d=line.substring(6);
          if (d.startsWith("String_Node_Str")) {
            String load=d.substring(14);
            System.out.println("String_Node_Str" + load);
            Showclix.setShowclixID(Integer.parseInt(load));
          }
 else           if (d.startsWith("String_Node_Str")) {
            if (!versionFound) {
              String load=d.substring(11);
              if (load.equals("String_Node_Str")) {
                setUpdateLevel(1);
              }
 else               if (load.equals("String_Node_Str")) {
                setUpdateLevel(2);
              }
 else               if (load.equals("String_Node_Str")) {
                setUpdateLevel(3);
              }
            }
          }
 else {
            System.out.println("String_Node_Str" + d);
          }
        }
 catch (        NumberFormatException numberFormatException) {
          System.out.println("String_Node_Str" + line);
        }
      }
 else {
        allText+=line + lineSeparator;
      }
    }
    versionNotes=allText.trim();
    if (update != null) {
      update.setYesButtonText(getUpdateLevel());
    }
  }
 catch (  Exception e) {
    System.out.println("String_Node_Str");
    e.printStackTrace();
  }
 finally {
    try {
      if (myReader != null) {
        myReader.close();
      }
    }
 catch (    IOException e) {
    }
  }
}

Fixed version (ground truth):
/** 
 * Loads the current version notes from online. This retreives all of the version notes possible and stores them in one String, with each line separated by a line break (\n). Note that this method takes several seconds to load and should be run in a background Thread. Note that this also parses tokens from the version notes (and does not add them into the version notes String). Currently the only token read is SETSHOWCLIXID, which is obsolete due to the program loading the most recent Showclix ID after the version notes.
 * @see paxchecker.PAXChecker#loadPatchNotesInBackground()
 * @see #getVersionNotes()
 */
public static void loadVersionNotes(){
  URLConnection inputConnection;
  InputStream textInputStream;
  BufferedReader myReader=null;
  try {
    URL patchNotesURL=new URL(PATCH_NOTES_LINK);
    inputConnection=patchNotesURL.openConnection();
    textInputStream=inputConnection.getInputStream();
    myReader=new BufferedReader(new InputStreamReader(textInputStream));
    String line;
    String lineSeparator=System.getProperty("String_Node_Str","String_Node_Str");
    String allText="String_Node_Str";
    boolean versionFound=false;
    while ((line=myReader.readLine()) != null) {
      DataTracker.addDataUsed(line.length());
      line=line.trim();
      if (line.contains("String_Node_Str" + PAXChecker.VERSION + "String_Node_Str")) {
        setUpdateLevel(0);
        versionFound=true;
      }
      if (line.startsWith("String_Node_Str")) {
        try {
          String d=line.substring(6);
          if (d.startsWith("String_Node_Str")) {
            String load=d.substring(14);
            System.out.println("String_Node_Str" + load);
            Showclix.setShowclixID(Integer.parseInt(load));
          }
 else           if (d.startsWith("String_Node_Str")) {
            if (!versionFound) {
              String load=d.substring(11);
              if (load.equals("String_Node_Str")) {
                setUpdateLevel(1);
              }
 else               if (load.equals("String_Node_Str")) {
                setUpdateLevel(2);
              }
 else               if (load.equals("String_Node_Str")) {
                setUpdateLevel(3);
              }
 else               if (load.equals("String_Node_Str")) {
                setUpdateLevel(4);
              }
 else {
                System.out.println("String_Node_Str" + load);
              }
            }
          }
 else {
            System.out.println("String_Node_Str" + d);
          }
        }
 catch (        NumberFormatException numberFormatException) {
          System.out.println("String_Node_Str" + line);
        }
      }
 else {
        allText+=line + lineSeparator;
      }
    }
    versionNotes=allText.trim();
    if (update != null) {
      update.setYesButtonText(getUpdateLevel());
    }
    System.out.println("String_Node_Str");
  }
 catch (  Exception e) {
    System.out.println("String_Node_Str");
    e.printStackTrace();
  }
 finally {
    try {
      if (myReader != null) {
        myReader.close();
      }
    }
 catch (    IOException e) {
    }
  }
}