public async Task <IEnumerable <INavigableItem> > FindDefinitionsAsync(Document document, int position, CancellationToken cancellationToken) { var symbol = await FindSymbolAsync(document, position, cancellationToken).ConfigureAwait(false); // realize the list here so that the consumer await'ing the result doesn't lazily cause // them to be created on an inappropriate thread. return(NavigableItemFactory.GetItemsfromPreferredSourceLocations(document.Project.Solution, symbol).ToList()); }