private AbstractPokerHandSimulator createSimulatorObject(FiveCardBoard board, 
            List<AbstractStartingHand> startingHands, int numberOfSimulations) {
        AbstractPokerHandSimulator simulator;
        if (simulationStarter.getGameType().isCommunityCardGame()
                && board != null && board.getNumberOfCards() > 0) {
            simulator = new PokerHandSimulatorVersion2(startingHands, board.getCards(), 
                    numberOfSimulations);
        } else {
            simulator = new PokerHandSimulatorVersion2(startingHands, numberOfSimulations);
        }
        return simulator;
    }