/// <summary>
            /// InjectionThenAssociationResolver constructor
            /// </summary>
            /// <param name="srcInj">Injection container</param>
            /// <param name="locator">Owner</param>
            public InjectionThenAssociationResolver(TypeStrictInjectionContainer srcInj, CommonObjectLocator locator)
            {
                Contract.Requires(srcInj != null);
                Contract.Requires(locator != null);

                _sourceInj  = srcInj;
                _curLocator = locator;
            }
            /// <summary>
            /// InjectionThenAssociationResolver constructor
            /// </summary>
            /// <param name="srcInj">Injection container</param>
            /// <param name="locator">Owner</param>
            public InjectionThenAssociationResolver(TypeStrictInjectionContainer srcInj, CommonObjectLocator locator)
            {
                TurboContract.Requires(srcInj != null, conditionString: "srcInj != null");
                TurboContract.Requires(locator != null, conditionString: "locator != null");

                _sourceInj  = srcInj;
                _curLocator = locator;
            }
        /// <summary>
        /// CommonObjectLocator constructor
        /// </summary>
        /// <param name="useAssocAsDISource">Allows object injection from the IoC container itself (not only from InjectionContainer)</param>
        /// <param name="disposeInjectionWithBuilder">Indicates whether the all injected objects should be disposed with the container</param>
        public CommonObjectLocator(bool useAssocAsDISource, bool disposeInjectionWithBuilder)
        {
            _disposeInjectionWithBuilder = disposeInjectionWithBuilder;
            _useAssocAsDISource          = useAssocAsDISource;

            _injection = new TypeStrictInjectionContainer(_disposeInjectionWithBuilder);

            if (_useAssocAsDISource)
            {
                _resolver = new InjectionThenAssociationResolver(_injection, this);
            }
            else
            {
                _resolver = _injection.GetDirectInjectionResolver();
            }

            _association = new AssociationContainer(_resolver);
        }