private void CreateAndExecuteInitializers() { IJob[] initializers; using (var creatorScope = Context.BeginScope(this, TransactionScopeKind.Suppress, LogSeverity.Information)) { var builder = new ResilientSqlScopeProcessBuilder() { Scope = this }; Initializers.Invoke(builder); initializers = builder.Jobs.Where(x => x != null).ToArray(); Context.Log(LogSeverity.Information, this, "created {InitializerCount} initializers", initializers?.Length ?? 0); } if (initializers?.Length > 0) { Context.Log(LogSeverity.Information, this, "starting initializers"); foreach (var process in initializers) { var preExceptionCount = Context.ExceptionCount; process.Execute(this); if (Context.ExceptionCount > preExceptionCount) { break; } } } }