public StandardHand(final Deck cards) {
        this.cards = cards;
        
        if (isStraightFlush(cards)) {
            bestRank = StandardHand.Ranking.STRAIGHT_FLUSH;
        } else if (isFourOfAKind(cards)) {
            bestRank = StandardHand.Ranking.FOUR_OF_A_KIND;
        } else if (isFullHouse(cards)) {
            bestRank = StandardHand.Ranking.FULL_HOUSE;
        } else if (isFlush(cards)) {
            bestRank = StandardHand.Ranking.FLUSH;
        } else if (isStraight(cards)) {
            bestRank = StandardHand.Ranking.STRAIGHT;
        } else if (isThreeOfAKind(cards)) {
            bestRank = StandardHand.Ranking.THREE_OF_A_KIND;
        } else if (isTwoPairs(cards)) {
            bestRank = StandardHand.Ranking.TWO_PAIR;
        } else if (isOnePair(cards)) {
            bestRank = StandardHand.Ranking.ONE_PAIR;
        } else {
            high = null;
            low = null;
            usesLow = false;
            usesAllCards = false;
            kickers = new Deck(cards);
            kickers.limitTo(5);
            
            bestRank = StandardHand.Ranking.NO_PAIR;
        }
    }