@SafeVarargs
	public static <G extends Gene<?, G>> Genotype<G> of(
		final Chromosome<G> first,
		final Chromosome<G>... rest
	) {
		final MSeq<Chromosome<G>> seq = MSeq.ofLength(1 + rest.length);
		seq.set(0, first);
		for (int i = 0; i < rest.length; ++i) {
			seq.set(i + 1, rest[i]);
		}
		return new Genotype<>(seq.toISeq());
	}
Create a new {@code Genotype} from a given array of {@code Chromosomes}.

@since 3.0

@param <G> the gene type
@param first the first {@code Chromosome} of the {@code Genotype}
@param rest the rest of the genotype chromosomes.
@return a new {@code Genotype} from the given chromosomes
@throws NullPointerException if {@code chromosomes} is {@code null} or
        one of its elements.
jenetics/src/main/java/io/jenetics/Genotype.java