private static void debuffResolve(final AbilityFactory af, final SpellAbility sa) {
        HashMap<String, String> params = af.getMapParams();
        Card host = af.getHostCard();

        ArrayList<String> kws = getKeywords(params);

        ArrayList<Card> tgtCards;
        Target tgt = af.getAbTgt();
        if (tgt != null)
            tgtCards = tgt.getTargetCards();
        else
            tgtCards = AbilityFactory.getDefinedCards(host, params.get("Defined"), sa);

        for (final Card tgtC : tgtCards) {
            final ArrayList<String> hadIntrinsic = new ArrayList<String>();
            if (AllZoneUtil.isCardInPlay(tgtC) && CardFactoryUtil.canTarget(host, tgtC)) {
                for (String kw : kws) {
                    if (tgtC.getIntrinsicKeyword().contains(kw)) hadIntrinsic.add(kw);
                    tgtC.removeIntrinsicKeyword(kw);
                    tgtC.removeExtrinsicKeyword(kw);
                }
            }
            if (!params.containsKey("Permanent")) {
                AllZone.getEndOfTurn().addUntil(new Command() {
                    private static final long serialVersionUID = 5387486776282932314L;

                    public void execute() {
                        if (AllZoneUtil.isCardInPlay(tgtC)) {
                            for (String kw : hadIntrinsic) {
                                tgtC.addIntrinsicKeyword(kw);
                            }
                        }
                    }
                });
            }
        }

    }//debuffResolve