public async void SetStackTrace(string text)
        {
            var componentModel = (IComponentModel)ServiceProvider.GetService(typeof(SComponentModel));
            var workspace      = componentModel.GetService <VisualStudioWorkspace>();

            var solution     = workspace.CurrentSolution;
            var compilations = await GetCompilationsAsync(solution);

            var writer = new VisualStudioStackTraceWriter(compilations, ServiceProvider);

            StackTraceWriter.Write(text, writer);

            var textBlock = new TextBlock
            {
                Padding    = new Thickness(16),
                FontFamily = new FontFamily("Consolas")
            };

            textBlock.Inlines.AddRange(writer.GetInlines());

            Content = new ScrollViewer
            {
                VerticalScrollBarVisibility   = ScrollBarVisibility.Auto,
                HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
                Content = textBlock
            };
        }
        private static void WriteStackTraceAndMethods(CSharpCompilation compilation, string actualStackTrace, out string stackTrace, out ImmutableArray <IMethodSymbol> methods)
        {
            var recorder = new RecordingCompilationStackTraceWriter(compilation);

            StackTraceWriter.Write(actualStackTrace, recorder);

            stackTrace = recorder.GetText();
            methods    = recorder.GetMethods();
        }