public IterativeAlgorithm(int populationSize,
                           StopCondition <IterativeAlgorithm <TProblem, TSolution>, TProblem, TSolution>
                           stopCondition,
                           MainOperator <IterativeAlgorithm <TProblem, TSolution>, TProblem, TSolution>
                           mainOperator,
                           NewGenerationCreator <IterativeAlgorithm <TProblem, TSolution>, TProblem, TSolution>
                           newGenerationCreator)
     : base(populationSize, stopCondition, mainOperator)
 {
     NewGenerationCreator = newGenerationCreator.DeepClone();
 }