/// <summary> /// Create sequence of read operations to load data up to a specified offset. /// </summary> /// <typeparam name="TResultItem"></typeparam> /// <param name="pagedBackingStoreCollection"></param> /// <param name="offset"></param> /// <returns></returns> public static IDisposable CreateReadsUpTo <TResultItem>(this IPagedBackingStoreCollection <TResultItem> pagedBackingStoreCollection, int offset) { return(pagedBackingStoreCollection.CreateOffsetsUpTo(offset). Select(o => pagedBackingStoreCollection.ChangeSetProvider.CreateReadRequest(o)).ToObservable(). SelectMany(pr => pagedBackingStoreCollection.ChangeSetProvider.ReadPageObservable(pr)). Subscribe()); }