/// <summary>
        /// Initializes a new instance of the <see cref="AutofacBuilder" /> class.
        /// </summary>
        /// <param name="environment">The environment.</param>
        /// <param name="configuration">The configuration.</param>
        /// <param name="scanner">The scanner.</param>
        /// <param name="assemblyProvider">The assembly provider.</param>
        /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param>
        /// <param name="services">The services.</param>
        /// <param name="containerBuilder">The container builder.</param>
        /// <param name="diagnosticSource">The diagnostic source</param>
        /// <param name="properties">The properties</param>
        /// <exception cref="ArgumentNullException">
        /// environment
        /// or
        /// containerBuilder
        /// or
        /// configuration
        /// or
        /// services
        /// </exception>
        public AutofacBuilder(
            IRocketEnvironment environment,
            IConfiguration configuration,
            IConventionScanner scanner,
            IAssemblyProvider assemblyProvider,
            IAssemblyCandidateFinder assemblyCandidateFinder,
            IServiceCollection services,
            ContainerBuilder containerBuilder,
            ILogger diagnosticSource,
            IDictionary <object, object?> properties
            )
            : base(scanner, assemblyProvider, assemblyCandidateFinder, properties)
        {
            Environment       = environment ?? throw new ArgumentNullException(nameof(environment));
            _containerBuilder = containerBuilder ?? throw new ArgumentNullException(nameof(containerBuilder));
            Configuration     = configuration ?? throw new ArgumentNullException(nameof(configuration));
            Services          = services ?? throw new ArgumentNullException(nameof(services));
            Logger            = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource));

            _containerObservable    = new GenericObservableObservable <IContainer>(Logger);
            _serviceProviderOnBuild = new GenericObservableObservable <IServiceProvider>(Logger);
        }