[Demonstration 1]

[Buggy Method]
public void addComment(String id, String comment) {
    if (!commentsByRecipeID.containsKey(id)) {
        commentsByRecipeID.put(id, new ArrayList<String>());
    }
    commentsByRecipeID.get(id).add(comment);
}

[Buggy Hunk]
commentsByRecipeID.get(id).add(comment);

[Patch]
commentsByRecipeID.get(id).add(0, comment);

[Demonstration 2]

[Buggy Method]
public Evenement createEvenement(Integer id, String libelle, String dateDebut, String dateFin, String compteRendu, String actif) {
    ContentValues values = new ContentValues();
    values.put(Evenement.FIELD_ID, id);
    values.put(Evenement.FIELD_LIBELLE, libelle);
    values.put(Evenement.FIELD_DATE_DEBUT, dateDebut);
    values.put(Evenement.FIELD_DATE_FIN, dateFin);
    values.put(Evenement.FIELD_COMPTE_RENDU, compteRendu);
    values.put(Evenement.FIELD_ACTIF, actif);
    SQLiteDatabase connection = daoBase.getQb(DAOBase.MODE_WRITABLE);
    QueryBuilder qb = new QueryBuilder().select(Evenement.FIELD_ID).from(Evenement.TABLE_NAME).whereAnd(Criteria.equals(Evenement.FIELD_ID, id)).whereAnd(Criteria.equals(Evenement.FIELD_LIBELLE, libelle)).whereAnd(Criteria.equals(Evenement.FIELD_DATE_DEBUT, dateDebut));
    Cursor cursor = DAOBase.fetch(connection, qb);
    if (cursor.getCount() <= 0) {
        cursor = null;
        daoBase.closeCursor(cursor);
        long insertId = connection.insert(Evenement.TABLE_NAME, null, values);
        qb = new QueryBuilder().select(allColumns).from(Evenement.TABLE_NAME).whereAnd(Criteria.equals(Evenement.FIELD_ID, insertId));
        cursor = DAOBase.fetch(connection, qb);
        Evenement newEvenement = null;
        try {
            cursor.moveToFirst();
            newEvenement = cursorToEvenement(cursor);
        } finally {
            daoBase.closeCursor(cursor);
            daoBase.closeConnection();
        }
        return newEvenement;
    } else {
        Log.e("Evenement", "Evenement already exist in database : " + libelle);
        daoBase.closeCursor(cursor);
        daoBase.closeConnection();
    }
    return null;
}

[Buggy Hunk]
Log.e("Evenement", "Evenement already exist in database : " + libelle);

[Patch]
Log.i("Evenement", "Evenement already exist in database : " + libelle);

[Demonstration 3]

[Buggy Method]
@Override
@RequestMapping(value = "/data/{id}", method = RequestMethod.GET)
public ResponseEntity<?> getOfferData(@PathVariable("id") int id) {
    Offer offer = offerRepository.findByOid(id);
    if (offer == null) {
        return new ResponseEntity<>("Invalid parameter", HttpStatus.NOT_FOUND);
    } else {
        OfferResponse response = new OfferResponse();
        response.setOffer(offer);
        response.setUser(userRepository.findByUid(offer.getUid()));
        List<Comment> comments = commentRepository.findAllBySidAndType(id, true, new PageRequest(0, 5, Sort.Direction.ASC, "creatingdate"));
        List<CommentResponse> list = new ArrayList<>();
        if (comments != null && !comments.isEmpty()) {
            User usr;
            for (Comment comment : comments) {
                usr = userRepository.findByUid((int) comment.getUid());
                if (usr != null) {
                    CommentResponse resp = new CommentResponse();
                    resp.setCommentMessage(comment.getComment());
                    resp.setName(usr.getName());
                    resp.setDate(comment.getDate());
                    resp.setPicture(usr.getPicture());
                    resp.setUid((int) comment.getUid());
                    list.add(resp);
                } else {
                    comments.remove(comment);
                }
            }
        }
        response.setComments(list);
        return new ResponseEntity<>(response, HttpStatus.OK);
    }
}

[Buggy Hunk]
List<Comment> comments = commentRepository.findAllBySidAndType(id, true, new PageRequest(0, 5, Sort.Direction.ASC, "creatingdate"));

[Patch]
List<Comment> comments = commentRepository.findAllBySidAndType(id, true, new PageRequest(0, 5, Sort.Direction.DESC, "creatingdate"));