private bool CreateNextRound()
        {
            if (CurrentRound != null)
            {
                CurrentRound.CheckResults();
            }



            if (Teams.Count == 0 && Competition.ParticipantNumber == Competition.Participations.Count)
            {
                foreach (Participation part in Competition.Participations)
                {
                    AddPlayer(part.Bot);
                }
            }

            Manager.Reset();
            Manager.LoadState(Teams, Rounds);

            TournamentRound rd = Manager.CreateNextRound(null);

            // Finals
            if (rd == null || rd.Pairings[0].TeamScores.Count == 1)
            {
                CurrentRound = null;
                return(false);
            }
            else
            {
                Round round = null;
                CreateRound(rd, ref round);

                RoundInstance ri = new RoundInstance(Competition, rd, round, this);
                ExecutedRounds.Add(CurrentRound);
                CurrentRound = ri;
                Rounds.Add(CurrentRound.CurrentRound);
                return(true);
            }
        }