/**
  * @param \DateTimeImmutable $date
  * @param Time|null $timeStart
  * @param Time|null $timeEnd
  * @throws InvalidArgumentValidationException
  */
 public function __construct(\DateTimeImmutable $date, Time $timeStart = null, Time $timeEnd = null)
 {
     Assertion::timeRange(Time::fromString(self::START_TIME_DAY), $timeStart, $timeEnd);
     $this->date = $date;
     $this->timeStart = $timeStart;
     $this->timeEnd = $timeEnd;
 }