public ContainerServicesBuilder()
 {
     _automaticRegistrationFactory     = new DefaultAutomaticRegistrationFactory();
     _concurrentDictionaryFactory      = new DefaultConcurrentDictionaryFactory();
     _registrationCollectionFactory    = new ReaderWriterLockedListFactory();
     _containerScopeFactory            = new DefaultContainerScopeFactory();
     _defaultInstantiationInfoSelector = new ConstructorWithMostParametersSelector();
     _ignoredAbstractionTypes          = ContainerServices.DefaultIgnoredAbstractionTypes;
     _resolveContextFactory            = new PerThreadResolveContextFactory();
     _resolveDelegateFactory           = ContainerServices.CreateDefaultResolveDelegateFactory();
     _resolveInfoAlgorithm             = new PreferResolveAllOverGenericTypeDefinitionAlgorithm();
     _setupContainer = ContainerServices.DefaultSetupContainer;
 }
        public ContainerServicesBuilder(ContainerServices existingServices)
        {
            existingServices.MustNotBeNull(nameof(existingServices));

            _concurrentDictionaryFactory      = existingServices.ConcurrentDictionaryFactory;
            _registrationCollectionFactory    = existingServices.RegistrationCollectionFactory;
            _containerScopeFactory            = existingServices.ContainerScopeFactory;
            _defaultInstantiationInfoSelector = existingServices.DefaultInstantiationInfoSelector;
            _ignoredAbstractionTypes          = existingServices.IgnoredAbstractionTypes;
            _resolveDelegateFactory           = existingServices.ResolveDelegateFactory;
            _automaticRegistrationFactory     = existingServices.AutomaticRegistrationFactory;
            _resolveContextFactory            = existingServices.ResolveContextFactory;
            _resolveInfoAlgorithm             = existingServices.ResolveInfoAlgorithm;
            _setupContainer = existingServices.SetupContainer;
        }