public void Undo() { var map = change.OffsetChangeMapOrNull; document.Replace(change.Offset, change.InsertionLength, change.RemovedText, map != null ? map.Invert() : null); }