[Demonstration 1]

[Buggy Method]
@Test
public void generate_filters_from_empty_params() {
    final Collection<CompositeQueryParameter> parameters = Collections.emptySet();
    final Collection<Filter> filters = fromParams(parameters, wrap(defaultInstance()));
    assertNotNull(filters);
    assertSize(0, filters);
}

[Buggy Hunk]
wrap(defaultInstance()));

[Patch]
ColumnTypeConverter.of(defaultInstance()));

[Demonstration 2]

[Buggy Method]
private boolean playCard(String sender, String message) {
    if (czarChoosing) {
        if (sender.equals(cardCzar)) {
            try {
                int number = Integer.parseInt(message.split(" ")[0]);
                if (!tryCzar(number)) {
                    sendToAll(GameLang.ERROR_INVALID_SELECTION);
                }
            } catch (Exception ignored) {
            }
            return true;
        } else {
            return false;
        }
    }
    if (state() != GameState.CHOOSING) {
        return false;
    }
    if (sender.equals(cardCzar)) {
        return false;
    }
    int number;
    List<CAHCard> userCards = this.userCards.get(sender);
    try {
        number = Integer.parseInt(message.split(" ")[0]);
    } catch (NumberFormatException e) {
        return false;
    }
    if (number < 0 || userCards == null || number > userCards.size()) {
        return false;
    }
    CAHCard cahCard = userCards.get(number);
    LinkedList<CAHCard> cards = new LinkedList<>();
    if (playedCards.containsKey(sender)) {
        cards = playedCards.get(sender);
    }
    int cardsNeeded = currentBlackCard.blanks();
    if (cards.size() < cardsNeeded) {
        for (CAHCard userCard : cards) {
            if (userCard.getText().equals(cahCard.getText())) {
                send(sender, GameLang.ERROR_ALREADY_PLAYED_CARD);
                return true;
            }
        }
        cards.add(cahCard);
        playedCards.put(sender, cards);
        // Remove from players hand
        new ArrayList<>(userCards).forEach((userCard) -> {
            if (userCard.getText().equals(cahCard.getText())) {
                userCards.remove(userCard);
            }
        });
        if (cards.size() == cardsNeeded) {
            sendToAll(String.format(GameLang.GAME_CAH_USERPLAY, sender));
            checkPlayers(false);
        } else {
            send(sender, createUserKeyboard(sender));
            send(sender, String.format(GameLang.GAME_CAH_PLAY_MORE, cardsNeeded - cards.size()));
        }
    } else {
        send(sender, GameLang.GAME_GENERAL_NOT_TURN);
    }
    return true;
}

[Buggy Hunk]
CAHCard cahCard = userCards.get(number);

[Patch]
CAHCard cahCard = userCards.get(number - 1);

[Demonstration 3]

[Buggy Method]
@Override
public void setAdapter(ListAdapter adapter) {
    final WrapAdapter mAdapter = new WrapAdapter(adapter);
    adapter.registerDataSetObserver(new DataSetObserver() {

        @Override
        public void onChanged() {
            super.onChanged();
            post(new Runnable() {

                @Override
                public void run() {
                    mAdapter.notifyDataSetChanged();
                }
            });
        }

        @Override
        public void onInvalidated() {
            super.onInvalidated();
            post(new Runnable() {

                @Override
                public void run() {
                    mAdapter.notifyDataSetInvalidated();
                }
            });
        }
    });
    super.setAdapter(mAdapter);
}

[Buggy Hunk]
final WrapAdapter mAdapter = new WrapAdapter(adapter);

[Patch]
mAdapter = new WrapAdapter(adapter);