this.zoneChangeCounter.put(permanent1.getId(), permanent1.getZoneChangeCounter());
this.lockedControllers.put(permanent2.getId(), permanent1.getControllerId());
this.zoneChangeCounter.put(permanent2.getId(), permanent2.getZoneChangeCounter());
permanent1.changeControllerId(targetPlayer.getId(), game);
permanent2.changeControllerId(you.getId(), game);
game.informPlayers(new StringBuilder(sourceObject != null ? sourceObject.getName() : "").append(": ").append(you.getName())
.append(" and ").append(targetPlayer.getName()).append(" exchange control of ").append(permanent1.getName())
.append(" and ").append(permanent2.getName()).toString());
} else {
// discard if there are less than 2 permanents