public void RollbackMulti()
        {
            var trackingManagers = TrackingManagers.ToList();

            foreach (var item in trackingManagers)
            {
                item.Rollback();
            }
        }
        public void RemakeMulti()
        {
            var trackingManagers = TrackingManagers.ToList();

            foreach (var item in trackingManagers)
            {
                item.Remake();
            }
        }
        public void RevertAllMulti()
        {
            var trackingManagers = TrackingManagers.ToList();

            var referenceManager = trackingManagers.First();

            while (referenceManager.CanRevert)
            {
                RevertMulti();
            }
        }
        public void Clear()
        {
            var trackingManagers = TrackingManagers.ToList();

            foreach (var item in trackingManagers)
            {
                item.CurrentScope.Clear();
            }

            TrackingItemCache.Instance.Clear();
            DataSetTrackingManagerProvider.Instance.DataSet?.Clear();
            TrackingActionFactory.ClearCache();
        }