public static Schedule CreateSchedule(IEnumerable <CustomerPreference> customerPreferences, DateRange dateRange)
        {
            var schedule = new Schedule();

            foreach (var customerPreference in customerPreferences)
            {
                var datesForCustomer = customerPreference.Preference.GetDatesInRange(dateRange);

                foreach (var date in datesForCustomer)
                {
                    // Dates are inserted in order as customersOnDates is an SortedDictionary
                    schedule.AddCustomerOnDate(date, customerPreference.Customer);
                }
            }

            return(schedule);
        }