public void UnmarkIndex(ValueTracker tracker)
 {
     trackers.Remove(tracker);
     if (reporter != null)
     {
         reporter.ReportUnmark(tracker.TargetIndex);
     }
 }
        public ValueTracker MarkIndex(int index)
        {
            var tracker = new ValueTracker(index);

            trackers.Add(tracker);
            if (reporter != null)
            {
                reporter.ReportMark(index);
            }
            return(tracker);
        }