/// <inheritdoc /> public async Task <Possible <string, Failure>[]> PinToCasAsync(CasEntries hashes, UrgencyHint urgencyHint, Guid activityId) { List <ContentHash> contentHashes = hashes.Select(hash => hash.ToContentHash()).ToList(); IEnumerable <Task <Indexed <PinResult> > > resultSet = await ReadOnlyCacheSession.PinAsync(new Context(Logger), contentHashes, CancellationToken.None); var results = new Possible <string, Failure> [contentHashes.Count]; foreach (Task <Indexed <PinResult> > resultTask in resultSet) { Indexed <PinResult> individualResult = await resultTask; results[individualResult.Index] = individualResult.Item.FromMemoization(hashes[individualResult.Index], CacheId); } return(results); }