/// <summary>
 ///     Construct the parallel score calculation object.
 /// </summary>
 /// <param name="thePopulation">The population to score.</param>
 /// <param name="theCODEC">The CODEC to use.</param>
 /// <param name="theAdjusters">The score adjusters to use.</param>
 /// <param name="theScoreFunction">The score function.</param>
 /// <param name="theThreadCount">The requested thread count.</param>
 public ParallelScore(IPopulation thePopulation, IGeneticCODEC theCODEC,
                      IList <IAdjustScore> theAdjusters, ICalculateScore theScoreFunction,
                      int theThreadCount)
 {
     _codec         = theCODEC;
     _population    = thePopulation;
     _scoreFunction = theScoreFunction;
     _adjusters     = theAdjusters;
     ThreadCount    = theThreadCount;
 }
 /// <summary>
 ///     Construct the parallel score calculation object.
 /// </summary>
 /// <param name="thePopulation">The population to score.</param>
 /// <param name="theCODEC">The CODEC to use.</param>
 /// <param name="theAdjusters">The score adjusters to use.</param>
 /// <param name="theScoreFunction">The score function.</param>
 /// <param name="theThreadCount">The requested thread count.</param>
 public ParallelScore(IPopulation thePopulation, IGeneticCODEC theCODEC,
                      IList<IAdjustScore> theAdjusters, ICalculateScore theScoreFunction,
                      int theThreadCount)
 {
     _codec = theCODEC;
     _population = thePopulation;
     _scoreFunction = theScoreFunction;
     _adjusters = theAdjusters;
     ThreadCount = theThreadCount;
 }