public void execute() {
            CardList list = gloriousAnthemList;
            Card c;
            // reset all cards in list - aka "old" cards
            for (int i = 0; i < list.size(); i++) {
                c = list.get(i);
                //c.removeIntrinsicKeyword("This card can't be cast");
                c.setUnCastable(false);
            }

            list.clear();

            CardList cl = AllZoneUtil.getCardsInPlay("Gaddock Teeg");

            for (int i = 0; i < cl.size(); i++) {
                CardList spells = new CardList();
                spells.addAll(AllZoneUtil.getPlayerGraveyard(AllZone.getHumanPlayer()));
                spells.addAll(AllZoneUtil.getPlayerHand(AllZone.getHumanPlayer()));
                spells.addAll(AllZoneUtil.getPlayerHand(AllZone.getComputerPlayer()));
                spells.addAll(AllZoneUtil.getPlayerGraveyard(AllZone.getComputerPlayer()));

                spells = spells.filter(new CardListFilter() {
                    public boolean addCard(Card c) {

                        boolean isXNonCreature = false;
                        if (c.getSpellAbility().length > 0) {
                            if (c.getSpellAbility()[0].isXCost())
                                isXNonCreature = true;
                        }

                        return !c.isLand()
                                && !c.isCreature()
                                && (CardUtil.getConvertedManaCost(c.getManaCost()) >= 4 || isXNonCreature);
                    }
                });

                for (int j = 0; j < spells.size(); j++) {
                    c = spells.get(j);
                    if (!c.isLand()) {
                        c.setUnCastable(true);
                        gloriousAnthemList.add(c);
                    }
                }// for inner
            }// for outer
        }