[Demonstration 1]

[Buggy Method]
@Override
public void init() {
    System.out.printf("RoboPlayer with threshold %d started.%n", threshold);
    System.out.printf("Joining %d game(s) per server.%n", Client.MAX_GAMES);
    Set<Triple<String, Integer, Integer>> servers = findServers();
    if (servers == null || servers.isEmpty())
        return;
    for (Triple server : servers) {
        String address = (String) server.One;
        int tmpPort = (int) server.Two;
        // Ignore MP games.
        if ((int) server.Three == 0)
            continue;
        for (int i = 0; i < Client.MAX_GAMES; i++) {
            IClientGame game = new ClientGame(this, 50, address, tmpPort);
            game.setGameID((int) server.Three);
            Thread t = new Thread(game);
            t.start();
            games.put(game, t);
        }
    }
    playing = true;
    try {
        Thread.sleep(500);
    } catch (InterruptedException ex) {
        System.err.println(ex.getMessage());
    }
}

[Buggy Hunk]
if ((int)server.Three == 0) continue; // Ignore MP games.

[Patch]
if ((int)server.Three >= 0) continue; // Ignore MP games.

[Demonstration 2]

[Buggy Method]
private static String drawColorLineSecondStyle(Player player) {
    StringBuilder line = new StringBuilder();
    int cardCount = player.getCards().size();
    line.append(Const.VL);
    for (int i = 0; i < cardCount; i++) {
        char cardColor = player.getCards().get(i).getColor().getColor();
        if (i == 0) {
            line.append(Const.SP).append(cardColor);
            for (int j = 0; j < Const.CARD_SIZE_X - 6; j++) {
                line.append(Const.SP);
            }
            line.append(cardColor).append(Const.SP);
        } else {
            line.append(Const.VL).append(Const.SP).append(cardColor);
        }
    }
    line.append(Const.VL);
    return line.toString();
}

[Buggy Hunk]
line.append(Const.VL).append(Const.SP).append(cardColor);

[Patch]
line.append(Const.VL).append(cardColor).append(Const.SP);

[Demonstration 3]

[Buggy Method]
public void showAll() {
    outputUrlsBox.clear();
    sqlConnector = new MySQLConnector();
    int count = 0;
    try (ResultSet resultSet = sqlConnector.query(sqlreturnAll)) {
        while (resultSet.next()) {
            outputUrlsBox.appendText(resultSet.getString(1) + "\n");
        }
        // Get count
        resultSet.last();
        count = resultSet.getRow();
        sqlConnector.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    msgBox.setText("Total of " + count + " urls are shown.");
}

[Buggy Hunk]
outputUrlsBox.appendText(resultSet.getString(1) + "\n");

[Patch]
outputUrlsBox.appendText(resultSet.getString(2) + "\n");