@Override
			public EvolutionResult<G, C> after(final EvolutionResult<G, C> result) {
				return after.apply(result);
			}
Create a new interceptor instance with the given {@code before} and
{@code after} functions.

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