Functional Poker Hands in Java