public SimulationResult(Set<AbstractStartingHand> startingHands, FiveCardBoard board, int numberOfSimulations, PokerGameType gameType) {
        checkArguments(startingHands, numberOfSimulations, gameType);
        initalizeVariables(startingHands, numberOfSimulations, gameType);
        if (board == null) {
            throw new IllegalArgumentException("Board can't be null.");
        }
        if (!gameType.isCommunityCardGame()) {
            throw new IllegalArgumentException("A board can't be used if the gameType isn't a community card game");
        }
        this.board = board;
    }