[Demonstration 1]

[Buggy Method]
public List<Map> generateNewBoardStateFromPlayerMove() {
    if (isMoveValidAdjacentMove()) {
        doMove();
        // player can go again if he jumps
        return BoardState.generateBoardState(theBoard, false);
    } else {
        return BoardState.generateBoardState(theBoard, true);
    }
}

[Buggy Hunk]
if ( isMoveValidAdjacentMove() ) {

[Patch]
if ( isMoveValidAdjacentMove() || isMoveValidJumpMove()) {

[Demonstration 2]

[Buggy Method]
@Override
public int compare(Book a, Book b) {
    if (!lenMatch.containsKey(a)) {
        String aMatcher = a.getTitle() + " ";
        for (String author : a.getAuthors()) {
            aMatcher += author;
        }
        lenMatch.put(a, longestSubstr(this.keyword, aMatcher));
    }
    if (!lenMatch.containsKey(b)) {
        String bMatcher = b.getTitle() + " ";
        for (String author : b.getAuthors()) {
            bMatcher += author;
        }
        lenMatch.put(b, longestSubstr(this.keyword, bMatcher));
    }
    int alen = lenMatch.get(a);
    int blen = lenMatch.get(b);
    if (alen > blen) {
        return 1;
    } else if (blen < alen) {
        return -1;
    } else {
        if (a.getYear() < b.getYear()) {
            return 1;
        } else if (a.getYear() > b.getYear()) {
            return -1;
        } else {
            return 0;
        }
    }
}

[Buggy Hunk]
else { return 0; }

[Patch]
else { return a.getTitle().compareTo(b.getTitle()); }

[Demonstration 3]

[Buggy Method]
protected static void writeName(String nickname) {
    Font font = new Font("Open Sans", Font.PLAIN, 12);
    JLabel name = new JLabel(nickname.toUpperCase());
    name.setBounds(20, 115, 100, 22);
    name.setFont(font);
    name.setForeground(new Color(255, 255, 255, 255));
    layeredPane.add(name);
    layeredPane.setLayer(name, LAYER_GAME);
    name.setVisible(true);
}

[Buggy Hunk]
JLabel name = new JLabel(nickname.toUpperCase());

[Patch]
JLabel name = new JLabel(nickname);