internal void RemoveRange(RangeViewModelBase range)
        {
            if (_ranges.Contains(range))
            {
                _ranges.Remove(range);

                _dirty.MarkDirtySafe();
            }
        }
        internal void AddRange(RangeViewModelBase range)
        {
            if (range == null) throw new ArgumentNullException(nameof(range));

            _ranges.Add(range);
        }