targetPointer.getFirst(game, source));
Cost cost = new GenericManaCost(1);
if (spell != null) {
Player player = game.getPlayer(spell.getControllerId());
if (player != null) {
cost.clearPaid();
game.getPlayer(spell.getControllerId()).discard(
1, source, game);
if (!cost.pay(source, game, spell.getControllerId(),
spell.getControllerId(), false)) {
return game.getStack().counter(source.getFirstTarget(),