[ new MagicWhenComesIntoPlayTrigger() { @Override public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPayedCost payedCost) { final MagicTargetChoice targetChoice = new MagicTargetChoice( new MagicOtherPermanentTargetFilter( MagicTargetFilter.TARGET_CREATURE, permanent ), MagicTargetHint.Negative, "another target creature to exile" ); return new MagicEvent( permanent, new MagicMayChoice(targetChoice), MagicExileTargetPicker.create(), this, "PN may\$ exile another target creature\$." ); } @Override public void executeEvent(final MagicGame game, final MagicEvent event) { if (event.isYes()) { event.processTargetPermanent(game,new MagicPermanentAction() { public void doAction(final MagicPermanent creature) { game.doAction(new MagicExileUntilThisLeavesPlayAction( event.getPermanent(), creature )); } }); } } } ]