[Demonstration 1]

[Buggy Method]
public void registerNewUser(FirebaseUser user) {
    final User u = new User();
    u.id = user.getUid();
    u.displayName = user.getDisplayName();
    u.email = user.getEmail();
    dbRef.child("users").child(u.id).addValueEventListener(new ValueEventListener() {

        @Override
        public void onDataChange(DataSnapshot snapshot) {
            if (snapshot == null) {
                dbRef.child("users").child(u.id).setValue(u);
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
}

[Buggy Hunk]
if (snapshot == null) {

[Patch]
if (snapshot.getValue() == null) {

[Demonstration 2]

[Buggy Method]
public void importExisting(List<String> smssToParse) {
    int importedQuantity = 0;
    if (!smssToParse.isEmpty()) {
        for (String sms : smssToParse) {
            try {
                Expense expense = parse(sms);
                if (!expenseGateway.contains(expense)) {
                    expenseGateway.save(expense);
                    importedQuantity++;
                }
            } catch (SMSExpenseParser.InvalidSMSException e) {
                presenter.parsingProblem(e.getMessage());
            }
        }
    }
    if (importedQuantity == 0)
        presenter.nothingToImport();
    else
        presenter.imported(importedQuantity);
}

[Buggy Hunk]
presenter.parsingProblem(e.getMessage());

[Patch]
presenter.parsingProblem(e.getSmsContent());

[Demonstration 3]

[Buggy Method]
public static void main(String[] args) throws SQLException {
    Connection conn = DriverManager.getConnection("jdbc:h2:./main");
    () -> {
    }.start();
    Statement stmt = conn.createStatement();
    stmt.execute("CREATE TABLE id IDENTITY, username VARCHAR, address VARCHAR, email VARCHAR");
}

[Buggy Hunk]
().start();

[Patch]
Server.createWebServer().start();