/// <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; } }