public static void ReplaceRangeNodes(this SyntaxEditor editor, SelectionResult selectionResult, IEnumerable <SyntaxNode> nodes)
        {
            var firstStatement    = selectionResult.FirstStatement();
            var firstNodeToInsert = nodes.First();

            editor.ReplaceNode(firstStatement, firstNodeToInsert);
            foreach (var statementSyntax in selectionResult.OtherThanFirstStatements())
            {
                editor.RemoveNode(statementSyntax);
            }

            var otherNodes = nodes.Skip(1);

            if (!otherNodes.Any())
            {
                return;
            }

            editor.InsertAfter(firstStatement, otherNodes);
        }
 public CodeGenerator(SemanticDocument semanticDocument, AnalyzerResult analyzerResult, SelectionResult selectionResult, string methodName)
 {
     _semanticDocument = semanticDocument;
     _analyzerResult   = analyzerResult;
     _selectionResult  = selectionResult;
     _methodName       = methodName;
 }