publicHolidaysStorage->isPublicHoliday($this->country, $publicHolidayDate); } public function storePublicHoliday(\DateTimeImmutable $publicHolidayDate): ?NonWorkingDays { return $this->publicHolidaysStorage->storePublicHoliday($this->country, $publicHolidayDate); } public function isWorkingDay(\DateTimeImmutable $date): bool { return !$this->isPublicHoliday($date); } public function getPublicHolidaysInInterval(\DateTimeImmutable $startDate, \DateTimeImmutable $endDate): array { return $this->publicHolidaysStorage->getPublicHolidaysInInterval($this->country, $startDate, $endDate); } public function getWorkingDaysCount(\DateTimeImmutable $startDate, int $workingDays): int { return $workingDays - $this->publicHolidaysStorage->countPublicHolidaysInInterval($this->country, $startDate, $startDate->add(new \DateInterval(sprintf('P%dD', $workingDays)))); } }