/**
  * {@inheritdoc}
  */
 public function send(ConfirmationSubjectInterface $subject)
 {
     $subject->confirmationDisableAccess();
     $subject->setConfirmationType($this->getType());
     $subject->confirmationRequest($token = $this->tokenProvider->generateUniqueToken());
     $this->sendToken($subject, $token);
     if (!$this->isValid) {
         return;
     }
     $this->manager->persist($subject);
     $this->manager->flush();
     $this->storage->setData(self::STORE_KEY, $subject->getConfirmationToken());
 }