/**
  * Process the token
  *
  * @param $token
  *
  * @return bool|null|{}
  */
 public function activateUser($token)
 {
     $activation = $this->repository->findByToken($token);
     if (is_null($activation)) {
         return null;
     }
     if ($this->activationService->shouldResend($activation)) {
         $this->activationService->recreateActivation($activation);
         return false;
     }
     $user = $this->model->find($activation->user_id);
     if (is_null($user)) {
         return null;
     }
     $user->active = true;
     $user->save();
     $this->repository->destroyActivation($token);
     $this->activationService->sendActivationEmail($user);
     return $user;
 }