[Demonstration 1]

[Buggy Method]
@SuppressWarnings("unchecked")
private boolean syntaxAnalysis() throws StaticEvaluationException {
    boolean gold = true;
    for (int i = 0; i < exercise.getClasses().size(); ++i) {
        SyntaxAnalysis syntaxAnalysis = new SyntaxAnalysis(classCodes.get(i));
        gold &= syntaxAnalysis.eval(((ExerciseClass) exercise.getClasses().get(i)).getConditions());
    }
    return gold;
}

[Buggy Hunk]
SyntaxAnalysis syntaxAnalysis = new SyntaxAnalysis(classCodes.get(i));

[Patch]
SyntaxAnalysis syntaxAnalysis = new SyntaxAnalysis(classCodes.get(i), ((ExerciseClass) exercise.getClasses().get(i)).getName() );

[Demonstration 2]

[Buggy Method]
@RequestMapping(value = "/manage/createResource", method = RequestMethod.POST)
public String createResource(Model model, @ModelAttribute("resource") @Valid final Resource resource, BindingResult bindingResult, RedirectAttributes redirectAttributes) {
    model.addAttribute("resource", new Resource());
    return new FormHandler(bindingResult, redirectAttributes, "Resource created", "resource", resource, "manage") {

        @Override
        public void processFormData() throws Exception {
            resourceRepository.save(resource);
        }
    }.processForm();
}

[Buggy Hunk]
model.addAttribute("resource", new Resource());

[Patch]
model.addAttribute("resource", resource);

[Demonstration 3]

[Buggy Method]
@RequestMapping(value = "/", method = RequestMethod.POST)
public ModelAndView sendRequest(@ModelAttribute("queryForm") Query query, ModelMap model) {
    model.addAttribute("queryForm", query);
    model.addAttribute("categoryList", query.getCategoryList());
    PageHandler.cacheItems(query);
    if (PageHandler.getCachedItems().size() == 0) {
        return new ModelAndView("index", model);
    } else {
        model.addAttribute("itemsInfo", PageHandler.createPageInfo(1));
        return new ModelAndView("redirect:/1");
    }
}

[Buggy Hunk]
PageHandler.cacheItems(query);

[Patch]
PageHandler.createCachedItems(query);