void ( @NotNull Gens gens, @NotNull Differ differ, @Nullable ProgressIndicator indicator) { Generation generation = Generation.createZeroGeneration(gens); while (generation.tryAgain()) { if (indicator != null) { indicator.checkCanceled(); } final int age = generation.getAge(); if (indicator != null) { indicator.setText2(LangBundle.message("progress.details.age.defects", age, generation.getParentKind())); indicator.setFraction(0.5 * age / Generation.GEN_COUNT); } generation = Generation.createNextGeneration(differ, generation); } gens.copyFrom(generation.getBestGens(differ)); }