public Individual <T> CrossingOver(Individual <T> individual1, Individual <T> individual2) { var individual = new Individual <T>(individual1.generator); for (int i = 0; i < ExperimentConsts.PrimitivesCapacity; i++) { individual.Add( individual1.components[0].CrossingOver(individual1.components[i], individual2.components[i])); } return(individual); }