/// <summary>
        /// Initializes a new instance of the <see cref="LazyItemEnumerable{T}"/> class.
        /// </summary>
        /// <param name="getItems">The get items.</param>
        /// <param name="isLazy">if set to <c>true</c> [is lazy].</param>
        /// <param name="inferType">if set to <c>true</c> [infer type].</param>
        /// <param name="service">The service.</param>
        /// <param name="versionHandler"></param>
        public LazyItemEnumerable(
            GetItemsOptions options,
            ISitecoreService service,
            LazyLoadingHelper lazyLoadingHelper
            )
        {
            _options = options;
            _service = service;

            _lazyItemList = new Lazy <IList <T> >(() => ProcessItems());

            if (!lazyLoadingHelper.IsEnabled(options))
            {
                // Force the loading of the items into the list so this occurs in the current security scope.
                var dummy = _lazyItemList.Value;
            }
        }