private void StartNextRound()
        {
            if (_currentRound != -1)
            {
                CurrentRound.Exit();
            }

            if (LastRound())
            {
                LogRoundMessage("Finished all rounds");
                RoundEvents.Instance.Raise(new FinishedRoundsEvent(Rounds [_currentRound]));
                OnRoundsFinished();
                return;
            }

            _currentRound++;

            if (LastRound())
            {
                RoundEvents.Instance.Raise(new LastRoundEvent(CurrentRound));
            }

            LogRoundMessage("Starting new round");

            _roundStarting = true;

            Rounds [_currentRound].Enter(this);

            StartRoundPreparation();
        }