[Demonstration 1]

[Buggy Method]
public CommandResult executeTransaction(CommandSource src, CommandContext args, ShopTransactionCommandProcessor processor, String consoleReject) throws CommandException {
    if (src instanceof Player) {
        Player player = (Player) src;
        Optional<String> shopUUIDOptional = args.getOne(Text.of(CommandArgs.SHOP_UUID));
        Optional<ShopContainer> shopContainerOptional = shopUUIDOptional.isPresent() ? shopManager.getShopByUUID(UUID.fromString(shopUUIDOptional.get()), player) : shopManager.getShop(player);
        if (shopContainerOptional.isPresent()) {
            ShopContainer shopContainer = shopContainerOptional.get();
            Shop shop = shopContainer.getShop();
            ShopTransactionResult transactionResult = processor.processCommand(player, args, shop);
            if (transactionResult != ShopTransactionResult.SUCCESS) {
                player.sendMessage(ChatTypes.CHAT, Text.of(TextColors.RED, transactionResult.getMessage()));
            }
        } else {
            player.sendMessage(ChatTypes.CHAT, Text.of(TextColors.RED, "You are not in a shop!"));
        }
        return CommandResult.success();
    }
    src.sendMessage(Text.of(consoleReject));
    return CommandResult.success();
}

[Buggy Hunk]
if (transactionResult != ShopTransactionResult.SUCCESS) {

[Patch]
if (transactionResult != ShopTransactionResult.SUCCESS && !transactionResult.getMessage().isEmpty()) {

[Demonstration 2]

[Buggy Method]
private void processCommand(ChannelHandlerContext ctx, MessageEvent e) throws InterruptedException {
    String command = (String) e.getMessage();
    TelnetServerAuthState telnetServerAuthState = (TelnetServerAuthState) ctx.getAttachment();
    Player player = gameManager.getPlayer(new Player(telnetServerAuthState.getUsername().get()));
    Room room = gameManager.getPlayerCurrentRoom(player).get();
    if (command.equals("n")) {
        if (room.getNorthId().isPresent()) {
            Movement movement = new Movement(player, room.getRoomId(), room.getNorthId().get(), command);
            gameManager.movePlayer(movement);
            currentRoomLogic(ctx, e);
        } else {
            e.getChannel().write("There's no northern exit.\r\n");
        }
    }
    if (command.equals("s")) {
        if (room.getSouthId().isPresent()) {
            Movement movement = new Movement(player, room.getRoomId(), room.getSouthId().get(), command);
            gameManager.movePlayer(movement);
            currentRoomLogic(ctx, e);
        } else {
            e.getChannel().write("There's no southern exit.\r\n");
        }
    }
    if (command.equals("e")) {
        if (room.getSouthId().isPresent()) {
            Movement movement = new Movement(player, room.getRoomId(), room.getEastId().get(), command);
            gameManager.movePlayer(movement);
            currentRoomLogic(ctx, e);
        } else {
            e.getChannel().write("There's no eastern exit.\r\n");
        }
    }
    if (command.equals("w")) {
        if (room.getSouthId().isPresent()) {
            Movement movement = new Movement(player, room.getRoomId(), room.getWestId().get(), command);
            gameManager.movePlayer(movement);
            currentRoomLogic(ctx, e);
        } else {
            e.getChannel().write("There's no western exit.\r\n");
        }
    }
    if (command.startsWith("say ")) {
        String s = command.replaceFirst("^say ", "");
        gameManager.say(player, s);
    }
    if (command.startsWith("gossip ")) {
        String s = command.replaceFirst("^gossip ", "");
        gameManager.gossip(player, s);
    }
    if (command.isEmpty()) {
        currentRoomLogic(ctx, e);
    }
}

[Buggy Hunk]
if (room.getSouthId().isPresent()) {

[Patch]
if (room.getEastId().isPresent()) {

[Demonstration 3]

[Buggy Method]
public void generateTileMap() {
    for (int x = 0; x < chunkS; x++) {
        for (int y = 0; y < chunkS; y++) {
            float s = world.worldNoise.sample(x + chunkX * chunkS, y + chunkY * chunkS);
            float st = world.treeNoise.sample(x + chunkX * chunkS, y + chunkY * chunkS);
            if (s < 0)
                setTile(Tile.water, x, y);
            else if (s < 0.05f)
                setTile(Tile.sand, x, y);
            else {
                setTile(Tile.grass, x, y);
                if (st < 0.14f) {
                    if (Math.random() < 0.01f)
                        world.addEntity(new EntityTree(world, (x + rChunkX) * Tile.tileSize, ((y + rChunkY) * Tile.tileSize) + (float) (Math.random() * 0.02f - 0.01f)));
                }
            }
        }
    }
    vboGenerated = false;
    for (int x = chunkX - 1; x < chunkX + 2; x++) {
        for (int y = chunkY - 1; y < chunkY + 2; y++) {
            world.chunkm.getChunk(x, y).vboGenerated = false;
        }
    }
    tilesGenerated = true;
}

[Buggy Hunk]
world.chunkm.getChunk(x, y).vboGenerated = false;

[Patch]
world.chunkm.getChunkWithForceLoad(x, y).vboGenerated = false;