internal int IndexOf(double endPoint)
        {
            int count = this.Count;

            for (int i = 0; i < count; i++)
            {
                Interval interval = this[i];
                if (interval.HasMatchingEndPoint(endPoint))
                {
                    return(i);
                }
            }
            return(-1);
        }
        internal IntervalCollection GetIntervalsWithEndPoint(double endPoint)
        {
            IntervalCollection intervals = new IntervalCollection();
            int count = this.Count;

            for (int i = 0; i < count; i++)
            {
                Interval interval = this[i];
                if (interval.HasMatchingEndPoint(endPoint))
                {
                    intervals.Add(interval);
                }
            }
            return(intervals);
        }