public static <G extends Gene<?, G>> Genotype<G>
	of(final Factory<? extends Chromosome<G>> factory, final int n) {
		final ISeq<Chromosome<G>> ch = ISeq.of(factory::newInstance, n);
		return new Genotype<>(ch);
	}
Create a new {@code Genotype} which consists of {@code n} chromosomes,
which are created by the given {@code factory}. This method can be used
for easily creating a <i>gene matrix</i>. The following example will
create a 10x5 {@code DoubleGene} <i>matrix</i>.
{@snippet lang="java":
final Genotype<DoubleGene> gt = Genotype
    .of(DoubleChromosome.of(0.0, 1.0, 10), 5);
}

@since 3.0

@param <G> the gene type
@param factory the factory which creates the chromosomes this genotype
       consists of
@param n the number of chromosomes this genotype consists of
@return new {@code Genotype} containing {@code n} chromosomes
@throws IllegalArgumentException if {@code n < 1}
@throws NullPointerException if the {@code factory} is {@code null}
jenetics/src/main/java/io/jenetics/Genotype.java