private void foundTwoPair() {
        rank = Rank.TWOPAIR;
        Card.Rank firstPair = null;
        Card.Rank secondPair = null;
        int firstOrd = -1;
        int secondOrd = -1;
        for (int i = ranks.length - 1; i >= 0; i--) {
            Card[] value = ranks[i];
            if (value == null) continue;
            if (numRanks[i] == 2) {
                Card.Rank rank = RANKS[i];
                if (firstPair == null) {
                    firstPair = rank;
                    firstOrd = firstPair.ordinal();
                } else {
                    secondPair = rank;
                    secondOrd = secondPair.ordinal();
                    break;
                }
            }
        }
        for (int i = 0; i < numRanks[firstOrd]; i++)
            fiveCardHand.add(ranks[firstOrd][i]);
        for (int i = 0; i < numRanks[secondOrd]; i++)
            fiveCardHand.add(ranks[secondOrd][i]);
        for (Card card : hand) {
            if (card.getRank() != firstPair && card.getRank() != secondPair) {
                fiveCardHand.add(card);
                break;
            }
        }
    }