public Calendar WithWorkingWeek(WorkingWeek workingWeek)
        {
            if (workingWeek == null)
            {
                throw new ArgumentNullException(nameof(workingWeek));
            }

            if (workingWeek.IsNonWorking)
            {
                throw new ArgumentException("Cannot use a non-working week as the default week.", nameof(workingWeek));
            }

            if (workingWeek == WorkingWeek)
            {
                return(this);
            }

            return(new Calendar(workingWeek));
        }
 private Calendar(WorkingWeek workingWeek)
 {
     WorkingWeek = workingWeek;
 }