DateTime nextOrSame(int dayOfWeek) { assert(debugCheckIsValidTimetableDate()); assert(weekday.debugCheckIsValidTimetableDayOfWeek()); return this + ((dayOfWeek - weekday) % DateTime.daysPerWeek).days; }