if (!game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.COUNTER, objectId, sourceId, stackObject.getControllerId()))) {
if ( stackObject instanceof Spell ) {
game.rememberLKI(objectId, Zone.STACK, (Spell)stackObject);
}
// Spell Crumple specific code
ReplacementEffectImpl effect = new SpellCrumpleReplacementEffect();
effect.setTargetPointer(new FixedTarget(stackObject.getId()));
game.addEffect(effect, source);
// Spell Crumple specific code end
game.informPlayers(new StringBuilder(stackObject.getName()).append(" is countered by ").append(sourceObject.getLogName()).toString());
game.getStack().remove(stackObject);
stackObject.counter(sourceId, game); // tries to move to graveyard