public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
Card card = player.getLibrary().removeFromTop(game);
if (card != null) {
card.moveToZone(Zone.HAND, source.getId(), game, false);
player.loseLife(card.getManaCost().convertedManaCost(), game);
Cards cards = new CardsImpl();
cards.add(card);
player.revealCards(cards, game);
return true;
}