static private void Update() { var current = Selection.objects; if (current != null && !current.IsEqualTo(_previous)) { Action a = () => _previous = Selection.objects; var so = new SelOp { ToSelect = current, ToGoBackTo = _previous, OnPerformed = a, OnUndone = a }; _undo.Push(so); _redo.Clear(); _previous = current; } }