public static AbstractStartingHand createStartingHand(PokerGameType gameType) {
        switch (gameType) {
            case TEXAS:
                return new TexasHoldemStartingHand();
            case OMAHA:
                return new OmahaHoldemStartingHand();
            case SEVEN_STUD:
                return new SevenCardStudStartingHand();
            case FIVE_DRAW:
                return new FiveCardDrawStartingHand();
            default:
                throw new RuntimeException("Unsupported hand type!");
        }
    }