[Demonstration 1]

[Buggy Method]
@Override
public Set<Thing> getThings(String label) {
    if (label.equals("narjillo") || label.equals(""))
        return new LinkedHashSet<Thing>(narjillos);
    return EMPTY_SET;
}

[Buggy Hunk]
public Set<Thing> getThings(String label) {

[Patch]
public synchronized Set<Thing> getThings(String label) {

[Demonstration 2]

[Buggy Method]
private Thing findThingAt_WithLabel(Vector position, String label) {
    Thing result = null;
    double minDistance = Double.MAX_VALUE;
    for (Thing thing : new LinkedList<>(environment.getThings(label))) {
        double distance = thing.getCenter().minus(position).getLength();
        if (distance < thing.getRadius() && distance < minDistance) {
            minDistance = distance;
            result = thing;
        }
    }
    return result;
}

[Buggy Hunk]
for (Thing thing : new LinkedList<>(environment.getThings(label))) {

[Patch]
for (Thing thing : environment.getThings(label)) {

[Demonstration 3]

[Buggy Method]
private void populateListView() {
    // Get all of the .json files
    File[] files = getFiles(System.getProperty("user.dir"), ".json");
    // Load up all the save files and stores them in the GameState ArrayList
    this.gamestates = new ArrayList<>();
    for (File file : files) {
        try {
            FileReader filereader = new FileReader(file);
            gamestates.add(new Gson().fromJson(filereader, GameState.class));
        } catch (FileNotFoundException e) {
            errorLabel.setText("Error opening a file.");
            return;
        }
    }
    // Now populate the ListView
    for (GameState gamestate : gamestates) {
        String description = gamestate.getName() + ": " + gamestate.getActivePlayer().getName() + " " + gamestate.getMap().getSeed();
        fileList.getItems().add(description);
    }
}

[Buggy Hunk]
+ gamestate.getActivePlayer().getName() + " "

[Patch]
+ gamestate.getActivePlayer(gamestate.getPlayerType()).getName() + " "