[Demonstration 1]

[Buggy Method]
public boolean showInfo() {
    ImageInformation imageInformation = taskFile.getImageInformation();
    String filename = taskFile.getPath().getFileName().toString();
    String size = imageInformation.getPhysicalWidth() + "x" + imageInformation.getPhysicalHeight() + " " + imageInformation.getResolution();
    String color = imageInformation.getColorSpace() + " " + imageInformation.getColorDepth();
    String icc = String.valueOf(imageInformation.getIccProfile());
    String compression = String.valueOf(imageInformation.getCompression());
    String suggestedName = (new Description(taskFile.generateTaskFromFile(), locale)).brief() + taskFile.getFileExtension();
    boolean result = !filename.equalsIgnoreCase(suggestedName);
    if (result) {
        printOne("SOURCE : ", filename);
        printOne("SUGGESTED : ", suggestedName);
        printOne("size : ", INDENT_CORRECT + size);
        printOne("color : ", getIndentByValue("CMYK 8", color) + color);
        printOne("profile : ", getIndentByValue("null", icc) + icc);
        printOne("compression : ", getIndentByValue("LZW", compression) + compression);
    }
    return result;
}

[Buggy Hunk]
boolean result = !filename.equalsIgnoreCase(suggestedName);

[Patch]
boolean result = !taskFile.getTask().equals(taskFile.generateTaskFromFile());

[Demonstration 2]

[Buggy Method]
@Transactional
public void applyTaskSettings(Task task) {
    WorkflowSettings settings = getSettings();
    List<WfUser> users = getCandidatesByTaskId(task.getId());
    if (users == null || users.isEmpty()) {
        String adminEmail = environment.getProperty("mail.admin");
        WorkflowDefinition workflowDef = processRepository.getProcessByDefinitionId(task.getProcessDefinitionId());
        WorkflowInstance instance = processRepository.getInstanceById(task.getProcessInstanceId());
        mailService.sendDefinitionErrorMail(adminEmail, workflowDef, task, instance);
        return;
    }
    if (!settings.isAutoAssignment() || users.size() > 1)
        return;
    String userEmail = users.get(0).getEmail();
    activitiTaskSrv.claim(task.getId(), userEmail);
    if (settings.isAssignmentNotification())
        mailService.sendTaskAssignedMail(userEmail, task.getId(), task.getName(), task.getDueDate());
}

[Buggy Hunk]
mailService.sendTaskAssignedMail(userEmail, task.getId(), task.getName(), task.getDueDate());

[Patch]
mailService.sendTaskAssignedMail(userEmail, new WfTask(task));

[Demonstration 3]

[Buggy Method]
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    TaskEntity task = new TaskEntity();
    String taskId = request.getParameter("taskId");
    if (taskId != null && taskId != "") {
        task.setTaskId(Integer.parseInt(request.getParameter("taskId")));
    }
    String createdDate = request.getParameter("createdDate");
    if (createdDate != null && createdDate != "") {
        task.setDateCreated(java.sql.Date.valueOf(request.getParameter("createdDate")));
    }
    task.setTitle(request.getParameter("title"));
    task.setContent(request.getParameter("content"));
    task.setDuedate(java.sql.Date.valueOf(request.getParameter("dueDate")));
    task.setUserId(request.getParameter("userId"));
    String isDeleted = request.getParameter("isDeleted");
    task.setIsDeleted(Integer.parseInt(isDeleted) != 0);
    try {
        todoTasksDao.upsertTask(task);
    } catch (TodoDaoException e) {
        e.printStackTrace();
        //TODO - go to error page
    }
    doGet(request, response);
}

[Buggy Hunk]
task.setIsDeleted(Integer.parseInt(isDeleted) != 0);

[Patch]
task.setIsDeleted(Boolean.parseBoolean(isDeleted));