protected function action()
 {
     $token = $this->request->tokenRepository->getByHash($this->request->hash);
     $user = $this->request->usersRepository->get($token->id->getValue());
     $password = Password::generatePassword();
     $user->password = $password;
     $this->request->usersRepository->update($user);
     $this->request->tokenRepository->delete($token);
     //
     $parseData = ['user' => $user->getParseData(), 'password' => $password];
     $subject = UParser::parsePHPCode($this->request->subjectTemplate, $parseData);
     $content = UParser::parsePHPCode($this->request->emailTemplate, $parseData);
     $this->request->mailer->send([$user->email->getValue()], $subject, $content);
     $this->request->tokenRepository->delete($token);
 }