Mutate() public method

public Mutate ( int mutationCount ) : void
mutationCount int
return void
        private void MakeNewGeneration(int mutationsCount)
        {
            Random rnd = new Random();
            /*
            foreach (var item in mCurrentGeneration)
            {
                mNextGeneration.Add(item);
            }*/
            for (int f = 0; f < this.mCurrentGeneration.Count; ++f)
            {
                for (int s = 0; s < this.mCurrentGeneration.Count; ++s)
                {
                    if (f != s)
                    {
                        s1 = new Schedule(this.mCurrentGeneration[f], this.mCurrentGeneration[s], SubjectsDifficulty);
                        double randomNumber = rnd.NextDouble();
                        if (randomNumber < MutationPercentage)
                        {
                            s1.Mutate(mutationsCount);
                        }
                        /*if (s1.Not(this.compDict))
                        {
                            s1 = new Schedule(SaveCopy.Timetable, mSubjectsDifficulty);
                            s1.Shuffle(rnd);
                        }*/
                        mNextGeneration[f * this.mCurrentGeneration.Count + s] = s1;

                    }
                    else
                    {
                        mNextGeneration[f * mCurrentGeneration.Count + s] = mCurrentGeneration[f];
                    }
                }
            }
            //mNextGeneration[rnd.Next(mNextGeneration.Count)].Mutate(Days * PeriodsCount);
            //EqualityComparer<Schedule> comp = new ScheduleComparator(false);
            this.mCurrentGeneration = mNextGeneration.
            OrderByDescending(x => {
                return x.Rating.Errors ;
            }).
            /*Distinct(comp).*/ToList().GetRange(0, GenerationSize);
            // my generation, babyy :D
        }