public void factory_order() {
        draw_.clear();
        discard_.clear();
        int deck_size = 52;
        if (has_jokers_) deck_size = 54;
        for (int i = 0; i < size_; ++i) {
            Suit temp;
            if      (i % deck_size < 13) { temp = Suit.SPADES;   }
            else if (i % deck_size < 26) { temp = Suit.DIAMONDS; }
            else if (i % deck_size < 39) { temp = Suit.CLUBS;    }
            else if (i % deck_size < 52) { temp = Suit.HEARTS;   }
            else                         { temp = Suit.JOKERS;   }

            draw_.add( new Card( (i % 13) + 1, temp ) );
        }
    }