public static <G extends Gene<?, G>, C extends Comparable<? super C>>
	EvolutionSpliterator<G, C> of(
		final Supplier<EvolutionStart<G, C>> start,
		final Function<
			? super EvolutionStart<G, C>,
			? extends Evolution<G, C>> evolution
	) {
		return new EvolutionSpliterator<>(
			start,
			result -> evolution.apply(result).evolve(result)
		);
	}
Create a new spliterator with the given {@code start} element and the
{@code evolution} function-function.

@since 5.1

@param start the start element
@param evolution the evolution function-function
@param <G> the gene type
@param <C> the evolution result type
@return a new evolution spliterator
jenetics/src/main/java/io/jenetics/internal/engine/EvolutionSpliterator.java