if (event.getType() == EventType.ZONE_CHANGE) {
UUID targetId = event.getTargetId();
MageObject card = game.getLastKnownInformation(targetId, Zone.BATTLEFIELD);
if (card != null && card instanceof Permanent && !(card instanceof PermanentToken)) {
Permanent permanent = (Permanent) card;
ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD
&& permanent.getControllerId().equals(this.controllerId)
&& (targetId.equals(this.getSourceId())
|| (permanent.getCardType().contains(CardType.CREATURE)
&& !targetId.equals(this.getSourceId())
&& !(permanent instanceof PermanentToken)))) {