/// <summary>
        /// Raise the <see cref="ContainerReconfiguring"/> event in response to a configuration source change.
        /// </summary>
        /// <param name="sender">Source of the event - the configuraton source.</param>
        /// <param name="e">Event arguments.</param>
        protected virtual void OnConfigurationSourceChanged(object sender, ConfigurationSourceChangedEventArgs e)
        {
            ContainerReconfiguringEventArgsImpl eventArgs =
                new ContainerReconfiguringEventArgsImpl(e.ConfigurationSource, e.ChangedSectionNames);

            lock (getUpdatedRegistrationsLock)
            {
                var handler = ContainerReconfiguring;
                if (handler != null)
                {
                    handler(this, eventArgs);
                }

                if (eventArgs.HasRegistrations)
                {
                    RegisterUpdates(eventArgs.Registrations);
                    eventSource.ConfigurationSourceChanged(e.ConfigurationSource, GetLocator(), e.ChangedSectionNames);
                }
            }
        }
        /// <summary>
        /// Raise the <see cref="ContainerReconfiguring"/> event in response to a configuration source change.
        /// </summary>
        /// <param name="sender">Source of the event - the configuraton source.</param>
        /// <param name="e">Event arguments.</param>
        protected virtual void OnConfigurationSourceChanged(object sender, ConfigurationSourceChangedEventArgs e)
        {
            ContainerReconfiguringEventArgsImpl eventArgs =
                new ContainerReconfiguringEventArgsImpl(e.ConfigurationSource, e.ChangedSectionNames);

            lock (getUpdatedRegistrationsLock)
            {
                var handler = ContainerReconfiguring;
                if (handler != null)
                {
                    handler(this, eventArgs);
                }

                if (eventArgs.HasRegistrations)
                {
                    RegisterUpdates(eventArgs.Registrations);
                    eventSource.ConfigurationSourceChanged(e.ConfigurationSource, GetLocator(), e.ChangedSectionNames);
                }
            }
        }