public override UndoableCommand Clone() { return new ReplaceMultipleTextCommand(ts, new List<ReplaceRange>(ranges)); }