static <G extends Gene<?, G>, C extends Comparable<? super C>>
	EvolutionInterceptor<G, C>
	ofBefore(final Function<? super EvolutionStart<G, C>, EvolutionStart<G, C>> before) {
		return EvolutionInterceptor.of(before, Function.identity());
	}
Create a new interceptor instance with the given {@code before} function.

@param before the function executed before each evolution step
@param <G> the gene type
@param <C> the fitness result type
@return a new interceptor instance with the given interceptor function
@throws NullPointerException if the function is {@code null}
jenetics/src/main/java/io/jenetics/engine/EvolutionInterceptor.java