public void Reset()
 {
     ValidateMappingPlans = false;
     _appliedConfigurationTypes?.Clear();
     _mappedObjectCachingSettings?.Clear();
     _mapToNullConditions?.Clear();
     _nullCollectionsSettings?.Clear();
     _serviceProvider = _namedServiceProvider = null;
     _objectFactories?.Clear();
     _identifiers?.Reset();
     _ignoredMembers?.Clear();
     _enumPairings?.Clear();
     _dictionaries?.Reset();
     _dataSourceFactories?.Clear();
     _mappingCallbackFactories?.Clear();
     _creationCallbackFactories?.Clear();
     _exceptionCallbackFactories?.Clear();
     _derivedTypes?.Reset();
 }
        public void Add(ConfiguredServiceProvider serviceProvider)
        {
            if (serviceProvider.IsNamed)
            {
                if (_namedServiceProvider != null)
                {
                    throw new MappingConfigurationException("A named service provider has already been configured.");
                }

                _namedServiceProvider = serviceProvider;
                return;
            }

            if (_serviceProvider != null)
            {
                throw new MappingConfigurationException("A service provider has already been configured.");
            }

            _serviceProvider = serviceProvider;
        }