public function getPayload($currentUserId = null)
    {
        $class = $this->getOption('payload');
        if(!is_a($class , TaskPayLoad::class , true)) {
            throw new BadTaskQueueOption('task payload must implement ' . TaskPayLoad::class);
        }
        /**
         * @var $payload TaskPayLoad
         */
        $payload = new $class($this->getPersistence() , $currentUserId);
        $payload->setServiceLocator($this->getServiceLocator());
        /**
         * @var TaskPayLoad $payload
         */
        return $payload;
    }