public MultiSelectionCommand(UndoableCommand command)
: base(command.ts)
{
this.cmd = command;
var fctb = ts.CurrentTB;
//remember ranges for all carets
foreach (var caret in fctb.AddedCarets)
ranges.Add(fctb.GetAddCaretRange(caret));
ranges.Add(ts.CurrentTB.Selection.Clone());
}