private async Task ProcessDocumentAsync(
     Document document,
     SymbolAndProjectId symbolAndProjectId,
     IReferenceFinder finder)
 {
     using (Logger.LogBlock(FunctionId.FindReference_ProcessDocumentAsync, s_logDocument, document, symbolAndProjectId.Symbol, _cancellationToken))
     {
         try
         {
             var references = await finder.FindReferencesInDocumentAsync(symbolAndProjectId, document, _cancellationToken).ConfigureAwait(false);
             foreach (var location in references)
             {
                 await HandleLocationAsync(symbolAndProjectId, location).ConfigureAwait(false);
             }
         }
         finally
         {
             await _progressTracker.ItemCompletedAsync().ConfigureAwait(false);
         }
     }
 }
 private async Task ProcessDocumentAsync(
     Document document,
     ISymbol symbol,
     IReferenceFinder finder,
     ProgressWrapper wrapper)
 {
     using (Logger.LogBlock(FunctionId.FindReference_ProcessDocumentAsync, logDocument, document, symbol, this.cancellationToken))
     {
         try
         {
             var references = await finder.FindReferencesInDocumentAsync(symbol, document, cancellationToken).ConfigureAwait(false) ?? SpecializedCollections.EmptyEnumerable<ReferenceLocation>();
             foreach (var location in references)
             {
                 HandleLocation(symbol, location);
             }
         }
         finally
         {
             wrapper.Increment();
         }
     }
 }
        private async Task ProcessDocumentAsync(
            Document document,
            SymbolAndProjectId symbolAndProjectId,
            IReferenceFinder finder)
        {
            using (Logger.LogBlock(FunctionId.FindReference_ProcessDocumentAsync, s_logDocument, document, symbolAndProjectId.Symbol, _cancellationToken))
            {
                try
                {
                    var references = await finder.FindReferencesInDocumentAsync(symbolAndProjectId, document, _cancellationToken).ConfigureAwait(false);

                    foreach (var location in references)
                    {
                        await HandleLocationAsync(symbolAndProjectId, location).ConfigureAwait(false);
                    }
                }
                finally
                {
                    await _progressTracker.ItemCompletedAsync().ConfigureAwait(false);
                }
            }
        }
        private async Task ProcessDocumentAsync(
            Document document,
            ISymbol symbol,
            IReferenceFinder finder,
            ProgressWrapper wrapper)
        {
            using (Logger.LogBlock(FeatureId.FindReference, FunctionId.FindReference_ProcessDocumentAsync, logDocument, document, symbol, this.cancellationToken))
            {
                try
                {
                    var references = await finder.FindReferencesInDocumentAsync(symbol, document, cancellationToken).ConfigureAwait(false) ?? SpecializedCollections.EmptyEnumerable <ReferenceLocation>();

                    foreach (var location in references)
                    {
                        HandleLocation(symbol, location);
                    }
                }
                finally
                {
                    wrapper.Increment();
                }
            }
        }
        private async Task ProcessDocumentAsync(
            Document document,
            SymbolAndProjectId symbolAndProjectId,
            IReferenceFinder finder,
            ProgressWrapper wrapper)
        {
            using (Logger.LogBlock(FunctionId.FindReference_ProcessDocumentAsync, s_logDocument, document, symbolAndProjectId.Symbol, _cancellationToken))
            {
                try
                {
                    var references = await finder.FindReferencesInDocumentAsync(symbolAndProjectId, document, _cancellationToken).ConfigureAwait(false) ?? SpecializedCollections.EmptyEnumerable <ReferenceLocation>();

                    foreach (var location in references)
                    {
                        await HandleLocationAsync(symbolAndProjectId, location).ConfigureAwait(false);
                    }
                }
                finally
                {
                    await wrapper.IncrementAsync().ConfigureAwait(false);
                }
            }
        }