in src/main/java/org/jetbrains/jetCheck/PropertyFailureImpl.java [105:124]
private ShrinkStep findSuccessfulShrink(ShrinkStep step, @Nullable ShrinkStep limit) {
List<CustomizedNode> combinatorial = new ArrayList<>();
while (step != null && !step.equals(limit)) {
StructureNode node = step.apply(shrunk.data);
if (node != null && iteration.session.addGeneratedNode(node)) {
CombinatorialIntCustomizer customizer = new CombinatorialIntCustomizer();
if (tryStep(node, customizer)) {
return step;
}
CombinatorialIntCustomizer next = customizer.nextAttempt();
if (next != null) {
combinatorial.add(new CustomizedNode(next, step));
}
}
step = step.onFailure();
}
return processDelayedCombinations(combinatorial);
}