}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
Permanent permanent = game.getPermanent(source.getSourceId());
<BUG>if (player != null && permanent != null) {
if (player.chooseUse(Outcome.Benefit, cost.getText() + " or " + permanent.getName() + " comes into play tapped?", game)) {
</BUG>
cost.clearPaid();
if (cost.pay(source, game, source.getId(), source.getControllerId(), false))

}
public TapSourceUnlessPaysEffect(final TapSourceUnlessPaysEffect effect) {
super(effect);
this.cost = effect.cost;
}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
Permanent permanent = game.getPermanent(source.getSourceId());
if (player != null && permanent != null) {
if (cost.canPay(source.getSourceId(), source.getControllerId(), game)
&& player.chooseUse(Outcome.Benefit, cost.getText() + " or " + permanent.getName() + " comes into play tapped?", game)) {
cost.clearPaid();
if (cost.pay(source, game, source.getId(), source.getControllerId(), false))
