public IAsyncEnumerable <Item> GetItemsByIds( IReadOnlyCollection <int> itemIds, Language?language = default, MissingMemberBehavior missingMemberBehavior = default, IProgress <ICollectionContext>?progress = default, CancellationToken cancellationToken = default ) { var producer = SplitQuery.Create <int, Item>( async(range, ct) => { var request = new ItemsByIdsRequest(range) { Language = language, MissingMemberBehavior = missingMemberBehavior }; var response = await request.SendAsync(http, ct).ConfigureAwait(false); return(response.Values); }, progress ); return(producer.QueryAsync(itemIds, cancellationToken: cancellationToken)); }