public static <
			A extends Comparable<? super A>,
			G extends BoundedGene<A, G>,
			C extends io.jenetics.BoundedChromosome<A, G>
		>
		Writer<C> writer(
			final String rootName,
			final Writer<? super A> alleleWriter
		) {
			requireNonNull(rootName);
			requireNonNull(alleleWriter);

			return elem(rootName,
				attr(LENGTH_NAME).map(BaseSeq::length),
				elem(MIN_NAME, alleleWriter.map(io.jenetics.BoundedChromosome::min)),
				elem(MAX_NAME, alleleWriter.map(io.jenetics.BoundedChromosome::max)),
				elem(ALLELES_NAME,
					elems(ALLELE_NAME, alleleWriter)
						.map(ch -> ISeq.of(ch).map(G::allele))
				)
			);
		}
Create a bounded chromosome writer with the given configuration.

@param rootName the name of the root element. E.g. {@code int-chromosome}
@param alleleWriter the XML writer used for the alleles
@param <A> the allele type
@param <G> the bounded gene type
@param <C> the bounded chromosome type
@return a bounded chromosome XML writer
@throws NullPointerException if one of the arguments is {@code null}
jenetics.xml/src/main/java/io/jenetics/xml/Writers.java