public OperationResult registerBet(Bet bet, UUID playerId) throws ValidationException, NullPointerException {
        // - check player is registered
        if (!players.containsKey(playerId)) {
            throw new NullPointerException("Player with ID=" + playerId + " is not registered");
        }

        // - check bet unique for player
        if (!isBetNewForPlayer(bet, playerId)) {
            throw new ValidationException("This bet has been already done");
        }

        addBet(bet, playerId);
        return OperationResult.BET_OK;
    }