private async Task <ImmutableArray <ExternalReferenceItem> > FindReferencesByMonikerAsync(
            ICodeIndexProvider codeIndexProvider, DefinitionItem definition,
            ImmutableArray <ISymbolMoniker> monikers, int pageIndex, CancellationToken cancellationToken)
        {
            var results = await FindReferencesByMonikerAsync(
                codeIndexProvider, monikers, pageIndex, cancellationToken).ConfigureAwait(false);

            using var _ = ArrayBuilder <ExternalReferenceItem> .GetInstance(out var referenceItems);

            foreach (var result in results)
            {
                referenceItems.Add(ConvertResult(definition, result));
            }

            return(referenceItems.ToImmutable());
        }
        private async Task <ImmutableArray <ExternalReferenceItem> > FindReferencesByMonikerAsync(
            ICodeIndexProvider codeIndexProvider, DefinitionItem definition, ImmutableArray <ISymbolMoniker> monikers,
            IStreamingProgressTracker progress, int pageIndex, CancellationToken cancellationToken)
        {
            // Let the find-refs window know we have outstanding work
            await using var _1 = await progress.AddSingleItemAsync().ConfigureAwait(false);

            var results = await FindReferencesByMonikerAsync(
                codeIndexProvider, monikers, pageIndex, cancellationToken).ConfigureAwait(false);

            using var _2 = ArrayBuilder <ExternalReferenceItem> .GetInstance(out var referenceItems);

            foreach (var result in results)
            {
                referenceItems.Add(ConvertResult(definition, result));
            }

            return(referenceItems.ToImmutable());
        }
 private static async Task <ICollection <JObject> > FindReferencesByMonikerAsync(ICodeIndexProvider codeIndexProvider, ImmutableArray <ISymbolMoniker> monikers, int pageIndex, CancellationToken cancellationToken)
 {
     try
     {
         return(await codeIndexProvider.FindReferencesByMonikerAsync(
                    monikers, includeDeclaration : false, pageIndex : pageIndex, cancellationToken : cancellationToken).ConfigureAwait(false));
     }
     catch (Exception e) when(FatalError.ReportWithoutCrashUnlessCanceled(e))
     {
         return(SpecializedCollections.EmptyCollection <JObject>());
     }
 }