public void Insert(TextEditor editor, string text)
        {
            int offset = editor.Document.LocationToOffset(Location);

            editor.Document.BeginAtomicUndo();
            InsertNewLine(editor, LineBefore, ref offset);
            LineSegment line   = editor.Document.GetLineByOffset(offset);
            string      indent = editor.Document.GetLineIndent(line) ?? "";

            editor.Replace(line.Offset, indent.Length, text);
            offset = line.Offset + text.Length;
            InsertNewLine(editor, LineAfter, ref offset);
            if (!string.IsNullOrEmpty(indent))
            {
                editor.Insert(offset, indent);
            }
            editor.Document.EndAtomicUndo();
        }