[Demonstration 1]

[Buggy Method]
public void changeParamObject(Integer testID) {
    Test test = (Test) HibernateUtil.get(Test.class, testID, getCurrentSession());
    paramObject = test.getParamObject();
}

[Buggy Hunk]
Test test = (Test) HibernateUtil.get(Test.class, testID, getCurrentSession());

[Patch]
Test test = (Test) HibernateUtil.get(Test.class, testID);

[Demonstration 2]

[Buggy Method]
@Test
public void testUpdateFail() {
    UpdateNotifier mock = Mockito.mock(UpdateNotifier.class);
    JTTPVersionUpdater jttpVersionUpdater = new JTTPVersionUpdater(711, mock);
    Mockito.when(mock.getLastUpdateTime()).thenReturn(2L);
    Mockito.doNothing().when(mock).putLastUpdateTime(org.easymock.EasyMock.anyLong());
    Mockito.doNothing().when(mock).putLatestVersion(Matchers.anyString());
    try {
        jttpVersionUpdater.updateLatestVersion();
        Assert.fail();
    } catch (UpdateException e) {
    }
    Mockito.verify(mock, Mockito.times(2)).getLastUpdateTime();
    Mockito.verify(mock).putLastUpdateTime(Matchers.anyLong());
}

[Buggy Hunk]
JTTPVersionUpdater jttpVersionUpdater = new JTTPVersionUpdater(711, mock);

[Patch]
TimetrackerVersionUpdater jttpVersionUpdater = new TimetrackerVersionUpdater(711, mock);

[Demonstration 3]

[Buggy Method]
@Override
public Map<String, Map<String, Long>> findAggregateData(Specification specification) {
    TotalsSpecification totalsSpecification = (TotalsSpecification) specification;
    Map<String, Map<String, Long>> data = new HashMap<>();
    ResultSetExtractor<Map<String, Long>> rsExtractor = rs -> {
        Map<String, Long> map = new LinkedHashMap<>();
        while (rs.next()) {
            map.put(rs.getString(1), rs.getLong(2));
        }
        return map;
    };
    Object[] filterValues = totalsSpecification.getFilterValues();
    if (totalsSpecification.getColSpec() == null) {
        data.put("totals", getJdbcTemplate().query(totalsSpecification.toSqlClause(), rsExtractor, filterValues));
        return data;
    }
    List<String> values = findAllValues(totalsSpecification.getColSpec());
    for (String value : values) {
        filterValues = ArrayUtils.addAll(new Object[] { value }, totalsSpecification.getFilterValues());
        data.put(value, getJdbcTemplate().query(totalsSpecification.toSqlClause(), rsExtractor, filterValues));
    }
    return data;
}

[Buggy Hunk]
public Map<String, Map<String, Long>> findAggregateData(Specification specification) {

[Patch]
public final Map<String, Map<String, Long>> findAggregateData(final Specification specification) {