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(); }