internal void DoObjectChanging(TabularObject obj, string propertyName, object newValue, ref bool cancel)
        {
            var e = new ObjectChangingEventArgs(obj, propertyName, newValue);

            ObjectChanging?.Invoke(this, e);
            cancel = e.Cancel;
        }
        internal void DoObjectChanging(ITabularObject obj, string propertyName, object newValue, ref bool cancel)
        {
            if (_disableUpdates)
            {
                return;
            }

            var e = new ObjectChangingEventArgs(obj, propertyName, newValue);

            ObjectChanging?.Invoke(this, e);
            cancel = e.Cancel;
        }