private void showConstructedDeck(Deck deck) {
        setDeckData(deck.getName(), true);

        CardList main = new CardList();
        for (int i = 0; i < deck.countMain(); i++) {
            String cardName = deck.getMain(i);
            String setCode = "";
            if (cardName.contains("|")) {
                String s[] = cardName.split("\\|", 2);
                cardName = s[0];
                setCode = s[1];
            }

            Card c = AllZone.getCardFactory().getCard(cardName, AllZone.getHumanPlayer());

            if (!setCode.equals("")) {
                c.setCurSetCode(setCode);
            } else if ((c.getSets().size() > 0)) // && card.getCurSetCode().equals(""))
            {
                c.setRandomSetCode();
            }

            main.add(c);
        }
        // This is an expensive heap operation.
        CardList allCards = new CardList(AllZone.getCardFactory());
        deckDisplay.updateDisplay(allCards, main);
    }//showConstructedDeck()