code: private EvolutionResult<BitGene, Double> run(
  		final EvolutionResult<BitGene, Double> last,
  		final AtomicBoolean proceed
  	) {
  		System.out.println("Starting evolution with existing result.");
  
  		return (last != null ? ENGINE.stream(last) : ENGINE.stream())
  			.limit(r -> proceed.get())
  			.collect(EvolutionResult.toBestEvolutionResult());
  	}
docs: Run the evolution.