[Demonstration 1]

[Buggy Method]
public synchronized void connect() {
    if (client != null && client.isConnected()) {
        return;
    }
    try {
        client = new MqttClient(brokerURL, appName);
        options = new MqttConnectOptions();
        options.setUserName(user);
        options.setPassword(password.toCharArray());
        client.connect(options);
    } catch (MqttException e) {
        log.error(e.getMessage(), e);
    }
}

[Buggy Hunk]
client = new MqttClient(brokerURL, appName);

[Patch]
client = new MqttClient(brokerURL, deviceId);

[Demonstration 2]

[Buggy Method]
public String serialize() {
    StringBuilder string = new StringBuilder();
    for (Servor servor : servors) {
        string.append(servor.getRow()).append(" ").append("/").append(" ").append(servor.getGroup()).append("\n");
    }
    return string.toString();
}

[Buggy Hunk]
string.append(servor.getRow()).append(" ").append("/").append(" ").append(servor.getGroup()).append("\n");

[Patch]
string.append(servor.getServorId()).append(" ").append(servor.getRow()).append(" ").append("/").append(" ").append(servor.getGroup()).append("\n");

[Demonstration 3]

[Buggy Method]
public void subscribeToTicker(TickerRecord record) {
    client.makeSubscription("ticker").subscribe(new PrintTickerDataAction(record));
}

[Buggy Hunk]
client.makeSubscription("ticker").subscribe(new PrintTickerDataAction(record));

[Patch]
client.makeSubscription("ticker").subscribe(new TickerUpdateAction(record));