private void ShrinkActions() { Verifying = true; Shrinking = false; Reporting = false; BreakRun = false; Failed = false; var failingSpec = FailingSpec; var exception = Exception; var max = Runs.Max(); var current = 0; while (current <= max) { Failed = false; TempMemory = new TempMemory(); FailingSpec = failingSpec; Exception = exception; foreach (var run in Runs.ToList()) { RunNumber = run; if (run != current) { Runner(this); } if (BreakRun) { break; } } if (Failed && !BreakRun) { Runs.Remove(current); } current++; } Failed = true; FailingSpec = failingSpec; Exception = exception; }