public boolean apply(Game game, Ability source) {
Player opponent = game.getPlayer(getTargetPointer().getFirst(game, source));
Player you = game.getPlayer(source.getControllerId());
if (opponent != null && you != null) {
Cards cardsInHand = new CardsImpl(Zone.PICK);
cardsInHand.addAll(opponent.getHand());
opponent.revealCards("Opponents hand", cardsInHand, game);
if (cardsInHand.size() > 0
&& cardsInHand.getCards(new FilterNonlandCard(), game).size() > 0) {
TargetCard target = new TargetCard(1, Zone.PICK, new FilterNonlandCard());
if (you.chooseTarget(Outcome.PlayForFree, cardsInHand, target, source, game)) {