Inheritance: ITimeLineMoment
        } // AddStart

        // ----------------------------------------------------------------------
        protected virtual void AddEnd(DateTime moment, ITimePeriod period)
        {
            ITimeLineMoment timeLineMoment = Find(moment);

            if (timeLineMoment == null)
            {
                timeLineMoment = new TimeLineMoment(moment);
                timeLineMoments.Add(moment, timeLineMoment);
            }
            timeLineMoment.AddEnd();
        } // AddEnd
        }         // IEnumerable.GetEnumerator

        // ----------------------------------------------------------------------
        private void AddPeriod(DateTime moment, ITimePeriod period)
        {
            ITimeLineMoment timeLineMoment = Find(moment);

            if (timeLineMoment == null)
            {
                timeLineMoment = new TimeLineMoment(moment);
                timeLineMoments.Add(timeLineMoment);
            }
            timeLineMoment.Periods.Add(period);
        }         // AddPeriod
        } // IEnumerable.GetEnumerator

        // ----------------------------------------------------------------------
        protected virtual void AddStart(DateTime moment)
        {
            ITimeLineMoment timeLineMoment = Find(moment);

            if (timeLineMoment == null)
            {
                timeLineMoment = new TimeLineMoment(moment);
                timeLineMoments.Add(timeLineMoment);
                timeLineMomentLookup.Add(moment, timeLineMoment);
            }
            timeLineMoment.AddStart();
        } // AddStart
 // ----------------------------------------------------------------------
 private void AddPeriod( DateTime moment, ITimePeriod period )
 {
     ITimeLineMoment timeLineMoment = Find( moment );
     if ( timeLineMoment == null )
     {
         timeLineMoment = new TimeLineMoment( moment );
         timeLineMoments.Add( timeLineMoment );
     }
     timeLineMoment.Periods.Add( period );
 }