public Period(IDateTime start, IDateTime end) { if (end != null && end.LessThanOrEqual(start)) { throw new ArgumentException($"Start time ( {start} ) must come before the end time ( {end} )"); } StartTime = start; if (end == null) { return; } EndTime = end; Duration = end.Subtract(start); }