[Demonstration 1]

[Buggy Method]
@Transactional
public void saveOrUpdate(Contribution contribution) {
    contributionDAO.save(contribution);
}

[Buggy Hunk]
contributionDAO.save(contribution);

[Patch]
contributionDAO.saveAndFlush(contribution);

[Demonstration 2]

[Buggy Method]
@RequestMapping(value = "/files", method = RequestMethod.POST)
@ResponseBody
public String uploadFileHandler(@RequestParam("file") MultipartFile file) {
    if (!file.isEmpty()) {
        Optional<Path> saved = Optional.of(manager.save(file));
        return saved.isPresent() ? "success" : "error";
    }
    return "File is empty";
}

[Buggy Hunk]
Optional<Path> saved = Optional.of(manager.save(file));

[Patch]
final Optional<Path> saved = Optional.of(manager.save(file));

[Demonstration 3]

[Buggy Method]
@Override
public Story patch(String id, String status, String contribution, String estimate, String assignedUser) throws CardioTechnicalException, CardioFunctionalException {
    LOGGER.debug("[SVC] patch story ...");
    Story story = find(id);
    boolean updateTimestamp = false;
    if (status != null) {
        if (!story.getStatus().equals(status)) {
            updateTimestamp = true;
        }
        story.setStatus(StoryStatus.valueOf(status));
    }
    if (contribution != null) {
        story.setContribution(Integer.parseInt(contribution));
    }
    if (estimate != null) {
        story.setEstimate(Integer.parseInt(estimate));
    }
    if (assignedUser != null) {
        story.setAssignedUser(Long.parseLong(assignedUser));
    }
    return update(story, updateTimestamp);
}

[Buggy Hunk]
if (!story.getStatus().equals(status)) {

[Patch]
if (!story.getStatus().toString().equals(status)) {