public Organism createOrganism(List<Gene> genes) {
        List<Gene> copyGenes = new ArrayList<>();
        for (Iterator<Gene> it = genes.iterator(); it.hasNext();) {
            copyGenes.add(new Gene(it.next()));
        }
        Genome newGenome = new Genome(nextEnabeledGenomeID(), copyGenes);
        //refresh NET made in Organism constructor
        return (new Organism(newGenome));
    }