/// <summary>
        /// Initializes a new instance of the <see cref="ObjectFactoryContainerRegion"/> class.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="queryableExtension">The queryable extension.</param>
        public ObjectFactoryContainerRegion(IUnityContainer container, QueryableContainerExtension queryableExtension)
        {
            this.container          = container;
            this.queryableExtension = queryableExtension;

            this.containerField    = typeof(ObjectFactory).GetField("container", BindingFlags.Static | BindingFlags.NonPublic);
            this.previousContainer = (IUnityContainer)this.containerField.GetValue(null);
            this.containerField.SetValue(null, container);

            this.queryableQueryableExtensionField = typeof(ObjectFactory).GetField("queryableContainerExtension", BindingFlags.Static | BindingFlags.NonPublic);
            this.previousQueryableExtension       = (QueryableContainerExtension)this.queryableQueryableExtensionField.GetValue(null);
            this.queryableQueryableExtensionField.SetValue(null, queryableExtension);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ObjectFactoryContainerRegion"/> class.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="queryableExtension">The queryable extension.</param>
        public ObjectFactoryContainerRegion(IUnityContainer container, QueryableContainerExtension queryableExtension)
        {
            this.container = container;
            this.queryableExtension = queryableExtension;

            this.containerField = typeof(ObjectFactory).GetField("container", BindingFlags.Static | BindingFlags.NonPublic);
            this.previousContainer = (IUnityContainer)this.containerField.GetValue(null);
            this.containerField.SetValue(null, container);

            this.queryableQueryableExtensionField = typeof(ObjectFactory).GetField("queryableContainerExtension", BindingFlags.Static | BindingFlags.NonPublic);
            this.previousQueryableExtension = (QueryableContainerExtension)this.queryableQueryableExtensionField.GetValue(null);
            this.queryableQueryableExtensionField.SetValue(null, this.queryableExtension);
        }