/**
  * Retrieve a session by ID.
  * @param $sessionId string
  * @return Session
  */
 function &getSession($sessionId)
 {
     $result =& $this->retrieve('SELECT * FROM sessions WHERE session_id = ?', array($sessionId));
     $session = null;
     if ($result->RecordCount() != 0) {
         $row =& $result->GetRowAssoc(false);
         $session = new Session();
         $session->setId($row['session_id']);
         $session->setUserId($row['user_id']);
         $session->setIpAddress($row['ip_address']);
         $session->setUserAgent($row['user_agent']);
         $session->setSecondsCreated($row['created']);
         $session->setSecondsLastUsed($row['last_used']);
         $session->setRemember($row['remember']);
         $session->setSessionData($row['data']);
         $session->setActingAsUserGroupId((int) $row['acting_as']);
     }
     $result->Close();
     unset($result);
     return $session;
 }