@Override
public boolean applies(GameEvent event, Ability source, Game game) {
if (event.getType() == EventType.TARGET) {
filterTarget.setTargetController(TargetController.YOU);
Permanent permanent = game.getPermanent(event.getTargetId());
if (permanent != null && filterTarget.match(permanent, source.getControllerId(), game)) {
if (filterSource == null)
return true;
else {
StackObject sourceObject = game.getStack().getStackObject(event.getSourceId());