internal ContainerRuntime(
            IRegistrationSource registrationSource,
            IContainerBackend backend)
        {
            _registrationSource = registrationSource ?? throw new ArgumentNullException(nameof(registrationSource));
            _backend            = backend ?? throw
                                      new ArgumentNullException(nameof(backend));

            // We create a runtime scope to handle the storage and retrieval of singleton services.
            _runtimeScope = (ContainerScope)CreateScope();
        }
 public ServiceVisitor(ContainerRuntime runtime, ContainerScope scope)
 {
     _runtime = runtime ?? throw new ArgumentNullException(nameof(runtime));
     _scope   = scope ?? throw new ArgumentNullException(nameof(scope));
 }