[Demonstration 1]

[Buggy Method]
@Bean
public DataSource dataSource() {
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName"));
    dataSource.setUrl(environment.getRequiredProperty("jdbc.url"));
    dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
    dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));
    return dataSource;
}

[Buggy Hunk]
DriverManagerDataSource dataSource = new DriverManagerDataSource();

[Patch]
final DriverManagerDataSource dataSource = new DriverManagerDataSource();

[Demonstration 2]

[Buggy Method]
@Override
public Optional<Product> getProduct(Long id) {
    return productRepository.findOne(id.byteValue());
}

[Buggy Hunk]
return productRepository.findOne(id.byteValue());

[Patch]
return productRepository.findOne(id.longValue());

[Demonstration 3]

[Buggy Method]
@Override
public String execute() throws Exception {
    ActionContext actionContext = ActionContext.getContext();
    TriggerKey key = new TriggerKey("cronTriggerRecommend");
    CronTriggerImpl trigger = (CronTriggerImpl) getScheduler().getTrigger(key);
    try {
        trigger.setCronExpression(getSecond() + " " + getMinute() + " " + getHour() + " * * ?");
        getScheduler().rescheduleJob(key, trigger);
    } catch (ParseException e) {
        actionContext.getSession().put(WebConstant.INTERCEPT_3, "Invalid cron expression");
        return ERROR;
    }
    actionContext.getSession().put(WebConstant.INTERCEPT_3, "Schedule time has changed to " + trigger.getStartTime());
    return SUCCESS;
}

[Buggy Hunk]
actionContext.getSession().put(WebConstant.INTERCEPT_3, "Schedule time has changed to " + trigger.getStartTime());

[Patch]
actionContext.getSession().put(WebConstant.INTERCEPT_3, "Schedule time has changed. Next time: " + trigger.getNextFireTime());