/**
  * Hook performing actual save
  *
  * @param string $newCode
  * @param int $userId
  * @return $changed
  */
 public function setReceptionCode($newCode, $userId)
 {
     $oldCode = $this->respondentTrack->getReceptionCode();
     if (!$newCode instanceof \Gems_Util_ReceptionCode) {
         $newCode = $this->util->getReceptionCode($newCode);
     }
     // Use the repesondent track function as that cascades the consent code
     $changed = $this->respondentTrack->setReceptionCode($newCode, $this->formData['gr2t_comment'], $userId);
     if ($this->unDelete) {
         $this->addMessage($this->_('Track restored.'));
         if (isset($this->formData['restore_tokens']) && $this->formData['restore_tokens']) {
             $count = $this->respondentTrack->restoreTokens($oldCode, $newCode);
             $this->addMessage(sprintf($this->plural('%d token reception codes restored.', '%d tokens reception codes restored.', $count), $count));
         }
     } else {
         if ($newCode->isStopCode()) {
             $this->addMessage($this->_('Track stopped.'));
         } else {
             $this->addMessage($this->_('Track deleted.'));
         }
     }
     return $changed;
 }