[Demonstration 1]

[Buggy Method]
public boolean deleteCurrentBeacon() {
    // delete the beacon by the creator with an endTime greater than current time
    DeleteResult dr = beacons.deleteOne(and(asList(eq("creator", this.creator), gt("endTime", new Date()))));
    return (gr.getDeletedCount() > 0);
}

[Buggy Hunk]
return (gr.getDeletedCount() > 0);

[Patch]
return (dr.getDeletedCount() > 0);

[Demonstration 2]

[Buggy Method]
@Transactional(rollbackOn = { NoPermissionException.class, ResourceNotFoundException.class })
@Override
public void submitSubmission(final long id) throws ResourceNotFoundException, NoPermissionException {
    try {
        Submission submission = getSubmission(id, Permission.UPDATE);
        User currentUser = getCurrentUser();
        boolean isCurator = UIObjectConverter.uiUser(currentUser).isCurator();
        if (submission.getStatus().canSubmit(isCurator)) {
            storeAssociatedFiles(submission);
            submission.setSubmitted(new Date());
            submission.setStatus(SubmissionStatus.IN_PROGRESS == submission.getStatus() ? SubmissionStatus.SUBMITTED : SubmissionStatus.RESUBMITTED);
            submission.setOwnedBy(currentUser);
            save(submission);
        }
    } catch (RecordNotFoundException e) {
        throw noSuchRecord(e);
    } catch (AccessControlException e) {
        throw noPermission(e);
    } catch (DataSerializationException | URISyntaxException | IOException e) {
        throw unexpected(e);
    }
}

[Buggy Hunk]
submission.setOwnedBy(currentUser);

[Patch]
submission.setOwnedBy(userDao.getCuratorUser());