[Demonstration 1]

[Buggy Method]
public void notifyObservers() {
    for (Observer observer : observers) {
        observer.updateTimer(eventTimer.seconds);
    }
}

[Buggy Hunk]
observer.updateTimer(eventTimer.seconds);

[Patch]
observer.updateTimer(eventTimer.getSeconds());

[Demonstration 2]

[Buggy Method]
public static void generateAndPopulateLevel0Map1(Spielfeld map) {
    // DESTROYED-RASTER HINTERGRUND!
    for (int y = 0; y < map.getMapSizeY(); y++) {
        for (int x = 0; x < map.getMapSizeX(); x++) {
            map.setRasterAt(x, y, Raster.destroyedRaster);
        }
    }
    // WAeNDE!
    for (int x = 0; x < map.getMapSizeX(); x++) {
        map.setRasterAt(x, 0, Raster.wall);
        map.setRasterAt(x, map.getMapSizeY() - 1, Raster.wall);
    }
    for (int y = 0; y < map.getMapSizeY(); y++) {
        map.setRasterAt(0, y, Raster.wall);
        map.setRasterAt(map.getMapSizeX() - 1, y, Raster.wall);
    }
    // STORYMANAGER!
    map.getStoryManager().registerTrigger(new PosTrigger(18, 8), ReflectionUtil.getMethod(Scripts.class, "switchMap", Integer.TYPE), 0);
}

[Buggy Hunk]
map.getStoryManager().registerTrigger(new PosTrigger(18, 8), ReflectionUtil.getMethod(Scripts.class, "switchMap", Integer.TYPE), 0);

[Patch]
map.getStoryManager().registerTrigger(new PosTrigger(18, 8), ReflectionUtil.getMethod(Scripts.class, "switchMap", Integer.class), 0);

[Demonstration 3]

[Buggy Method]
protected void dispatch(Object event) {
    observers.forEach(observer -> observer.observe(event));
}

[Buggy Hunk]
observers.forEach(observer -> observer.observe(event));

[Patch]
observers.forEach(observer -> observer.handle(event));