private void assertCard(Card card) {
        int cardRank = card.getRank().ordinal();
        Card[] rankList = ranks[cardRank];
        if (rankList == null) {
            rankList = new Card[NUM_SUITS];
            ranks[cardRank] = rankList;
        }
        int numRank = numRanks[cardRank]++;
        rankList[numRank] = card;
        int cardSuit = card.getSuit().ordinal();
        Card[] suitList = suits[cardSuit];
        if (suitList == null) {
            suitList =  new Card[NUM_RANKS];
            suits[cardSuit] = suitList;
        }
        int numSuit = numSuits[cardSuit]++;
        suitList[numSuit] = card;
    }