[Demonstration 1]

[Buggy Method]
@Test
public void shouldGetUnitList() throws Exception {
    String[] unitList = inputLineParser.getUnitList("how much is pish tegj glob glob ?");
    assertEquals(4, unitList.length);
    assertEquals("pish", unitList[0]);
    assertEquals("tegj", unitList[1]);
    assertEquals("glob", unitList[2]);
    assertEquals("glob", unitList[3]);
}

[Buggy Hunk]
String[] unitList = inputLineParser.getUnitList("how much is pish tegj glob glob ?");

[Patch]
String[] unitList = inputLineParser.getUnitListFromUnitListInline("pish tegj glob glob");

[Demonstration 2]

[Buggy Method]
private void renderLights(GraphicsContext gc, GraphicsContext sc, List<MapObject> MOBsOnScreen, double xOffset, double yOffset) {
    //Raycast from player to all screen corners and to corners of all visible structures
    /*
        List<Structure> StructuresOnScreen = new ArrayList<>();
        //List<Creature> CreaturesOnScreen = new ArrayList<>();
        for (MapObject mob : MOBsOnScreen) {
            if (mob instanceof Structure) StructuresOnScreen.add((Structure)mob);
            //if (mob instanceof Creature) CreaturesOnScreen.add((Creature)mob);
        }
        shadows.setLight(player.getCenterXPos()-xOffset, player.getCenterYPos()-yOffset);
        shadows.setScreenSize(sc.getCanvas().getWidth(), sc.getCanvas().getHeight());
        shadows.updateStructures(StructuresOnScreen, xOffset, yOffset);
        shadows.paintLights(sc, xOffset, yOffset);
        */
    //lights.paintVision(player.getCenterXPos(), player.getCenterYPos(), player.getVisionRange());
    //lights.renderLightMap(gc, xOffset, yOffset);
    sc.setFill(Color.BLACK);
    sc.fillRect(0, 0, sc.getCanvas().getWidth(), sc.getCanvas().getHeight());
    lights.renderLightSource(sc, player.getCenterXPos() - xOffset, player.getCenterYPos() - yOffset, 0.5);
}

[Buggy Hunk]
lights.renderLightSource(sc, player.getCenterXPos()-xOffset, player.getCenterYPos()-yOffset,0.5);

[Patch]
lights.renderLightSource(sc, player.getCenterXPos()-xOffset, player.getCenterYPos()-yOffset,2);

[Demonstration 3]

[Buggy Method]
private void handleInput(float dt) {
    // keyboard input
    if (!paused) {
        if (Gdx.input.isKeyPressed(Input.Keys.SPACE))
            player.jump();
        if (Gdx.input.isKeyPressed(Input.Keys.RIGHT) && player.body.getLinearVelocity().x <= 7)
            player.body.applyLinearImpulse(new Vector2(0.3f, 0), player.body.getWorldCenter(), true);
        if (Gdx.input.isKeyPressed(Input.Keys.LEFT) && player.body.getLinearVelocity().x >= -7)
            player.body.applyLinearImpulse(new Vector2(-0.3f, 0), player.body.getWorldCenter(), true);
        if (Gdx.input.isKeyJustPressed(Input.Keys.Z)) {
            if (System.nanoTime() - lastShot >= FIRE_RATE) {
                bullets.add(new Bullet(this, player.body.getPosition().x, player.body.getPosition().y));
                lastShot = System.nanoTime();
            }
        }
    }
    if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE))
        paused ^= true;
    // android input
    if (controller.isUpPressed())
        player.jump();
    if (controller.isRightPressed() && player.body.getLinearVelocity().x <= 7)
        player.body.applyLinearImpulse(new Vector2(0.3f, 0), player.body.getWorldCenter(), true);
    if (controller.isLeftPressed() && player.body.getLinearVelocity().x >= -7)
        player.body.applyLinearImpulse(new Vector2(-0.3f, 0), player.body.getWorldCenter(), true);
}

[Buggy Hunk]
if(Gdx.input.isKeyJustPressed(Input.Keys.Z)) {

[Patch]
if(Gdx.input.isKeyPressed(Input.Keys.Z)) {