@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player == null) { return false; } int counter = 0; boolean wonFlip = false; do { wonFlip = player.flipCoin(source, game, true); if (wonFlip) { counter++; } } while (wonFlip); if (counter > 0) { CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect(player.getId(), null, true, counter); effect.setUseLKI(true); effect.setTargetPointer(targetPointer); effect.apply(game, source); effect.exileTokensCreatedAtNextEndStep(game, source); } return true; } }