[Demonstration 1]

[Buggy Method]
private String buildQuery(String str) {
    String encodedStr = null;
    String url = "https://api.datamarket.azure.com/Bing/MicrosoftTranslator/v1/Translate?Text=%s&To=%s&From=%s";
    try {
        encodedStr = URLEncoder.encode(String.format("'%s'", encodedStr), java.nio.charset.StandardCharsets.UTF_8.toString());
    } catch (Exception e) {
        System.out.printf("Charset not suported: %s\n", str);
        return null;
    }
    return String.format(url, encodedStr, target, source);
}

[Buggy Hunk]
encodedStr = URLEncoder.encode(String.format("'%s'", encodedStr), java.nio.charset.StandardCharsets.UTF_8.toString());

[Patch]
encodedStr = URLEncoder.encode(String.format("'%s'", str), java.nio.charset.StandardCharsets.UTF_8.toString());

[Demonstration 2]

[Buggy Method]
@Test
public void testsDifferentIds() {
    Set<Contact> testSet = new HashSet<>();
    testSet.add(ben);
    testSet.add(jim);
    Calendar testDate2 = new GregorianCalendar(2015, 2, 10);
    Meeting testMeeting2 = new FutureMeetingImpl(4, testDate2, testSet);
    assertEquals(testMeeting2, testMeeting);
}

[Buggy Hunk]
assertEquals(testMeeting2, testMeeting);

[Patch]
assertFalse(testMeeting2.equals(testMeeting));

[Demonstration 3]

[Buggy Method]
private void populateEmpires(Map<Integer, Empire> empires) throws Exception {
    HashSet<Integer> notOnlineEmpireIDs = new HashSet<Integer>();
    DateTime now = DateTime.now();
    for (Empire empire : empires.values()) {
        empire.setHomeStar(new StarController().getStar(empire.getHomeStarID()));
        if (new NotificationController().isEmpireOnline(empire.getID())) {
            empire.setLastSeen(now);
        } else {
            notOnlineEmpireIDs.add(empire.getID());
        }
    }
    if (!notOnlineEmpireIDs.isEmpty()) {
        String sql = "SELECT empire_id, MAX(date) FROM empire_logins WHERE empire_id IN " + buildInClause(notOnlineEmpireIDs) + " GROUP BY empire_id";
        try (SqlStmt stmt = prepare(sql)) {
            SqlResult result = stmt.select();
            while (result.next()) {
                int empireID = result.getInt(1);
                DateTime lastSeen = result.getDateTime(2);
                empires.get(empireID).setLastSeen(lastSeen);
            }
        }
    }
}

[Buggy Hunk]
HashSet<Integer> notOnlineEmpireIDs = new HashSet<Integer>();

[Patch]
HashSet<Integer> notOnlineEmpireIDs = new HashSet<>();