protected GEPChromosome(GEPChromosome source) { headLength = source.headLength; length = source.length; fitness = source.fitness; // allocate genes array genes = new IGPGene[length]; // copy genes for (int i = 0; i < length; i++) genes[i] = source.genes[i].Clone(); }