public static function createFromArray(array $datetime): ?DateTimeInterface
    {
        $dateAndTime = $datetime['datetime'] ?? '';
        $timeZone = $datetime['timezone'] ?? '';

        if ($dateAndTime === '' || !is_string($dateAndTime)) {
            return null;
        }

        if ($timeZone === '' || !is_string($timeZone)) {
            return null;
        }

        return new DateTimeImmutable($dateAndTime, new DateTimeZone($timeZone));
    }