[Demonstration 1]

[Buggy Method]
private void loadFromPersistentStorage() {
    // this persists across app runs, 'private' means only this app can r/w
    SharedPreferences sharedPref = this.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
    // first valid user_id is 1
    int userId = sharedPref.getInt(PREF_KEY_USERID, 0);
    if (userId > 0) {
        setUserById(new UserId(userId));
    }
    // TODO: confirm is valid for this user
    int cat_id = sharedPref.getInt(PREF_KEY_CATID_VIEW, Category.SHOW_ALL_CAT_ID);
    curViewCatId = new CatId(cat_id);
    // TODO: confirm is valid for this user
    cat_id = sharedPref.getInt(PREF_KEY_CATID_ADD, 0);
    curAddCatId = new CatId(cat_id);
    curViewRecentExp = sharedPref.getInt(PREF_KEY_RECENT, VIEW_RECENT);
}

[Buggy Hunk]
setUserById(new UserId(userId));

[Patch]
setCurUser(new UserId(userId));

[Demonstration 2]

[Buggy Method]
@Override
public Map<ProjectId, List<Role>> getRoles(AuthToken token, UserId userId) throws AuthorizationException, ServerServiceException {
    Map<ProjectId, List<Role>> roleMap = new HashMap<>();
    for (Project project : getAllProjects(token)) {
        roleMap.put(project.getId(), getRoles(token, userId, project.getId()));
    }
    return roleMap;
}

[Buggy Hunk]
for (Project project : getAllProjects(token)) {

[Patch]
for (Project project : getProjects(token, userId)) {

[Demonstration 3]

[Buggy Method]
public boolean deleteEvent(String userID, String eventID) {
    EventUserHandler euh = new EventUserHandler();
    if (euh.isAdmin(userID, eventID)) {
        return false;
    } else {
        Session session = HibernateUtil.getFactory().openSession();
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            Event event = session.get(Event.class, eventID);
            List<EventUserRelation> relations = euh.getRelations_byeventID(eventID);
            if (event == null || euh.deleteRelations(relations) == false)
                return false;
            session.delete(event);
            tx.commit();
        } catch (HibernateException he) {
            if (tx != null)
                tx.rollback();
            he.printStackTrace();
        } finally {
            session.close();
        }
    }
    return true;
}

[Buggy Hunk]
if(euh.isAdmin(userID, eventID)) {

[Patch]
if(!euh.isAdmin(userID, eventID)) {