[ new MagicWhenComesIntoPlayTrigger() { @Override public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer player) { final MagicTargetFilter targetFilter = new MagicTargetFilter.MagicOtherPermanentTargetFilter( MagicTargetFilter.TARGET_CREATURE_WITH_SHADOW,permanent); final MagicTargetChoice targetChoice = new MagicTargetChoice( targetFilter,true,MagicTargetHint.None,"another creature with shadow to exile"); return new MagicEvent( permanent, targetChoice, MagicExileTargetPicker.create(), this, "Exile another creature with shadow\$." ); } @Override public void executeEvent(final MagicGame game, final MagicEvent event) { event.processTargetPermanent(game,new MagicPermanentAction() { public void doAction(final MagicPermanent creature) { game.doAction(new MagicExileUntilThisLeavesPlayAction(event.getPermanent(),creature)); } }); } } ]