default <B> Writer<B> map(final Function<? super B, ? extends T> mapper) {
		return (xml, data) -> {
			if (data != null) {
				final T value = mapper.apply(data);
				if (value != null) {
					write(xml, value);
				}
			}
		};
	}
Maps this writer to a different base type. Mapping to a different data
type is necessary when you are going to write <em>sub</em>-objects of
your basic data type {@code T}. E.g. the chromosome length or the
{@code min} and {@code max} value of an {@code IntegerChromosome}.

@param mapper the mapper function
@param <B> the new data type of returned writer
@return a writer with changed type
jenetics.xml/src/main/java/io/jenetics/xml/stream/Writer.java