private async Task <IReadOnlyCollection <Uri> > GetResourceUrlsAsync( OperationType type, IReadOnlyCollection <string> resourceIds, CancellationToken cancellationToken) { switch (type) { case OperationType.Reindex: List <int> tagKeys = resourceIds?.Select(x => int.Parse(x, CultureInfo.InvariantCulture)).ToList(); IReadOnlyCollection <ExtendedQueryTagStoreEntry> tagPaths = Array.Empty <ExtendedQueryTagStoreEntry>(); if (tagKeys?.Count > 0) { tagPaths = await _extendedQueryTagStore.GetExtendedQueryTagsAsync(tagKeys, cancellationToken); } return(tagPaths.Select(x => _urlResolver.ResolveQueryTagUri(x.Path)).ToList()); default: throw new ArgumentOutOfRangeException(nameof(type)); } }