public virtual void UndoAllEdit()
        {
            if (!IsEditing)
            {
                throw new ArgumentNullException("You cannot cancel the editing of an entity without first starting it.");
            }

            if (_tracker != null)
            {
                _tracker.UndoAll();
                OnUndo();
            }
        }