internal TimeBox TimeBoxAdd(DateTime start, DateTime end)
        {
            // add time box
            var trb = new TimeBox(start, end, this);

            TimeBoxCollection.Add(trb);
            TimeBox._sort(TimeBoxCollection);
            TimeBoxMerge();
            return(trb);
        }
 internal void TimeBoxAdd(List <TimeBox> collection)
 {
     foreach (var src in collection)
     {
         var trb = new TimeBox(src.StartDate, src.EndDate, this);
         trb.CopyStates(src);
         TimeBoxCollection.Add(trb);
     }
     TimeBox._sort(TimeBoxCollection);
     TimeBoxMerge();
 }