[Demonstration 1]

[Buggy Method]
private <T> void merge(List<T> l, List<T> helper, int p, int q, int r, Comparator<T> comparator) {
    /* index of list 1 */
    int i = p;
    /* index of list 2 */
    int j = q + 1;
    /* index of helper list */
    int k = p;
    /* create helper list */
    for (int c = p; c <= r; c++) {
        helper.add(l.get(c));
    }
    while (i <= q && j <= r) {
        if (comparator.compare(helper.get(i), helper.get(j)) <= 0) {
            l.set(k, helper.get(i));
            i++;
        } else {
            l.set(k, helper.get(j));
            j++;
        }
        k++;
    }
    /* copy the remaining elements at k to the end of the list */
    while (i <= q) {
        l.set(k, helper.get(i));
        k++;
        i++;
    }
}

[Buggy Hunk]
helper.add(l.get(c));

[Patch]
helper.set(c,l.get(c));

[Demonstration 2]

[Buggy Method]
@Override
public User getUserById(int id) {
    logger.debug("getUserById() id : {}", id);
    Session session = sessionFactory.getCurrentSession();
    User user = (User) session.load(User.class, id);
    logger.info("User successfully loaded. User details: {}", user);
    return user;
}

[Buggy Hunk]
User user = (User) session.load(User.class, id);

[Patch]
User user = (User) session.get(User.class, id);

[Demonstration 3]

[Buggy Method]
public void persistProject(String requestID, long projectId) {
    if (DataManagerHelper.getDataManager().isDefault()) {
        info(Resources.UNSUPPORTED_OPERATION.toString());
    } else {
        try {
            IGeppettoProject geppettoProject = retrieveGeppettoProject(projectId);
            if (geppettoProject != null) {
                geppettoManager.persistProject(requestID, geppettoProject);
                PersistedProject persistedProject = new PersistedProject(geppettoProject.getId(), geppettoProject.getActiveExperimentId());
                websocketConnection.sendMessage(requestID, OutboundMessages.PROJECT_PERSISTED, getGson().toJson(persistedProject));
            } else {
                error(null, "Error persisting project  " + projectId + ".");
            }
        } catch (GeppettoExecutionException e) {
            error(e, "Error persisting project");
        }
    }
}

[Buggy Hunk]
info(Resources.UNSUPPORTED_OPERATION.toString());

[Patch]
info(requestID,Resources.UNSUPPORTED_OPERATION.toString());