public ISet<int> Select(IntRange fromRange, int count)
        {
            int size = TournamentSize;
            if (size < count) size = count;

            var arena = new SortedSet<int>();
            while (arena.Count != size)
            {
                arena.Add(fromRange.PickRandomValue());
            }

            return new HashSet<int>(arena.Take(count));
        }