async Task <SyntaxNode> ChangeMethodHelperAsync(SyntaxNode initialSourceNode)
        {
            var localTimeRewriter  = new LocalTimeRewriter(ProjectItemDetails.SemanticModel, IsReportOnlyMode, Options);
            var modifiedSourceNode = localTimeRewriter.Visit(initialSourceNode);

            modifiedSourceNode = await RefreshResultAsync(modifiedSourceNode);

            var cascadeDeleteRewriter = new CascadeDeleteRewriter(ProjectItemDetails.SemanticModel, IsReportOnlyMode, Options);

            modifiedSourceNode = cascadeDeleteRewriter.Visit(modifiedSourceNode);
            modifiedSourceNode = await RefreshResultAsync(modifiedSourceNode);

            var calculatedGetterRewriter = new CalculatedGetterRewriter(ProjectItemDetails.SemanticModel, IsReportOnlyMode, Options);

            modifiedSourceNode = calculatedGetterRewriter.Visit(modifiedSourceNode);
            modifiedSourceNode = await RefreshResultAsync(modifiedSourceNode);

            var transientDatabaseModeRewriter = new TransientDatabaseModeRewriter(ProjectItemDetails.SemanticModel, IsReportOnlyMode, Options);

            modifiedSourceNode = transientDatabaseModeRewriter.Visit(modifiedSourceNode);

            if (IsReportOnlyMode)
            {
                CollectMessages(localTimeRewriter.GetReport());
                CollectMessages(cascadeDeleteRewriter.GetReport());
                CollectMessages(calculatedGetterRewriter.GetReport());
                CollectMessages(transientDatabaseModeRewriter.GetReport());
                return(initialSourceNode);
            }

            return(modifiedSourceNode);
        }
 SyntaxNode ChangeMethodHelper(SyntaxNode initialSourceNode)
 {
     initialSourceNode = new LocalTimeRewriter(ProjectItemDetails.SemanticModel)
                         .Visit(initialSourceNode);
     initialSourceNode = this.RefreshResult(initialSourceNode);
     initialSourceNode = new CascadeDeleteRewriter(ProjectItemDetails.SemanticModel)
                         .Visit(initialSourceNode);
     initialSourceNode = this.RefreshResult(initialSourceNode);
     initialSourceNode = new CalculatedGetterRewriter(ProjectItemDetails.SemanticModel)
                         .Visit(initialSourceNode);
     initialSourceNode = this.RefreshResult(initialSourceNode);
     initialSourceNode = new TransientDatabaseModeRewriter(ProjectItemDetails.SemanticModel)
                         .Visit(initialSourceNode);
     return(initialSourceNode);
 }