/**
  * Extracts user data from the session and returns the user object.
  * 
  * @param Session $session
  * @throws GeneralException\MissingDependencyException
  * @return UserInterface
  */
 public function getUserFromSession(Session $session)
 {
     $serializer = $this->getUserSerializer();
     if (!$serializer) {
         throw new GeneralException\MissingDependencyException('user serializer');
     }
     return $serializer->unserialize($session->getUserData());
 }