private async static Task<Document> MakeMethodNonAsyncAsync(Document document, Diagnostic diagnostic, CancellationToken cancellationToken)
 {
     var root = await document.GetSyntaxRootAsync(cancellationToken);
     var node = root.FindNode(diagnostic.Location.SourceSpan);
     var methodDeclaration = node.FirstAncestorOrSelfOfType<MethodDeclarationSyntax>();
     var rewriter = new ReturnTaskFromResultRewriter();
     var asyncKeyword = methodDeclaration.Modifiers.First(t => t.Kind() == SyntaxKind.AsyncKeyword);
     var newMethodDeclaration =
         methodDeclaration
             .WithModifiers(methodDeclaration.Modifiers.Remove(asyncKeyword))
             .WithBody((BlockSyntax) rewriter.VisitBlock(methodDeclaration.Body));
     var newRoot = root.ReplaceNode(methodDeclaration, newMethodDeclaration);
     return document.WithSyntaxRoot(newRoot);
 }
        private async static Task <Document> MakeMethodNonAsyncAsync(Document document, Diagnostic diagnostic, CancellationToken cancellationToken)
        {
            var root = await document.GetSyntaxRootAsync(cancellationToken);

            var node = root.FindNode(diagnostic.Location.SourceSpan);
            var methodDeclaration    = node.FirstAncestorOrSelfOfType <MethodDeclarationSyntax>();
            var rewriter             = new ReturnTaskFromResultRewriter();
            var asyncKeyword         = methodDeclaration.Modifiers.First(t => t.Kind() == SyntaxKind.AsyncKeyword);
            var newMethodDeclaration =
                methodDeclaration
                .WithModifiers(methodDeclaration.Modifiers.Remove(asyncKeyword))
                .WithBody((BlockSyntax)rewriter.VisitBlock(methodDeclaration.Body));
            var newRoot = root.ReplaceNode(methodDeclaration, newMethodDeclaration);

            return(document.WithSyntaxRoot(newRoot));
        }