public boolean apply(Game game, Ability source) {
Player opponent = game.getPlayer(getTargetPointer().getFirst(game, source));
Player controller = game.getPlayer(source.getControllerId());
if (opponent != null && controller != null) {
Cards cardsInHand = new CardsImpl(Zone.PICK);
cardsInHand.addAll(opponent.getHand());
if (cardsInHand.size() > 0) {
TargetCard target = new TargetCard(1, Zone.PICK, new FilterNonlandCard());
if (controller.chooseTarget(outcome, cardsInHand, target, source, game)) {
Card card = game.getCard(target.getFirstTarget());
if (card != null) {