@Override
	public AltererResult<G, C> alter(
		final Seq<Phenotype<G, C>> population,
		final long generation
	) {
		AltererResult<G, C> result = new AltererResult<>(population.asISeq());
		for (var alterer : _alterers) {
			final AltererResult<G, C> as = alterer.alter(
				result.population(),
				generation
			);

			result = new AltererResult<>(
				as.population(),
				as.alterations() + result.alterations()
			);
		}

		return result;
	}
Combine the given alterers.

@param alterers the alterers to combine.
@throws NullPointerException if one of the alterers is {@code null}.
jenetics/src/main/java/io/jenetics/CompositeAlterer.java