private void done() {
        if (phyLifeToLose > 0)
            AllZone.getHumanPlayer().payLife(phyLifeToLose, originalCard);
        if (spell.getSourceCard().isCopiedSpell()) {
            if (spell.getAfterPayMana() != null) {
                stopSetNext(spell.getAfterPayMana());
            } else
                AllZone.getInputControl().resetInput();
        } else {
            AllZone.getManaPool().clearPay(spell, false);
            resetManaCost();

            // if tap ability, tap card
            if (spell.isTapAbility())
                originalCard.tap();
            if (spell.isUntapAbility())
                originalCard.untap();

            // if this is a spell, move it to the Stack ZOne

            if (spell.isSpell())    // already checked for if its a copy
                AllZone.getGameAction().moveToStack(originalCard);

            if (spell.getAfterPayMana() != null)
                stopSetNext(spell.getAfterPayMana());
            else {
                if (skipStack) {
                	spell.resolve();
                } else {
                    AllZone.getStack().add(spell);
                }
                AllZone.getInputControl().resetInput();
            }
        }
    }