@@ -0,0 +1,844 @@
+package io.jenetics.engine;%0A%0Aimport java.util.concurrent.atomic.AtomicBoolean;%0Aimport java.util.concurrent.atomic.AtomicReference;%0Aimport java.util.function.UnaryOperator;%0A%0Aimport io.jenetics.Gene;%0Aimport io.jenetics.Phenotype;%0A%0Apublic class Invalidator%3C%0A%09G extends Gene%3C?, G%3E,%0A%09C extends Comparable%3C? super C%3E%0A%3E%0A%09implements EvolutionInterceptor%3CG, C%3E%0A%7B%0A%0A%09private final AtomicBoolean _invalid = new AtomicBoolean(false);%0A%0A%09@Override%0A%09public EvolutionStart%3CG, C%3E before(final EvolutionStart%3CG, C%3E start) %7B%0A%09%09final boolean invalid = _invalid.getAndSet(false);%0A%09%09return invalid ? invalidate(start) : start;%0A%09%7D%0A%0A%09private EvolutionStart%3CG, C%3E invalidate(final EvolutionStart%3CG, C%3E start) %7B%0A%09%09return EvolutionStart.of(%0A%09%09%09start.population().map(Phenotype::discard),%0A%09%09%09start.generation()%0A%09%09);%0A%09%7D%0A%0A%09public void invalid() %7B%0A%09%09_invalid.set(true);%0A%09%7D%0A%0A%7D%0A

Add population 'Invalidator'.