public function deserialize(array $serialized): Job
    {
        $this->ensureReflectorsInitialized();

        $job = $this->instantiator->instantiate(Job::class);

        $arguments = \json_decode($serialized['arguments'], true);
        \assert(\is_array($arguments));

        $this->jobPropertyReflectors['id']->setValue($job, new JobId(Uuid::fromString($serialized['id'])));
        $this->jobPropertyReflectors['name']->setValue($job, $serialized['name']);
        $this->jobPropertyReflectors['arguments']->setValue($job, $arguments);
        $this->jobPropertyReflectors['maxRetries']->setValue($job, $serialized['max_retries']);
        $this->jobPropertyReflectors['retries']->setValue($job, $serialized['retries']);

        return $job;
    }