/**
  * Callback when reading session data.
  *
  * @param string $id Session id
  * @return mixed Session data
  */
 static function read($id)
 {
     $data = self::getCache()->get(self::getKey($id));
     self::$hashCache = array($id => self::getHash($data));
     return $data === false ? '' : $data;
 }
 /**
  * Callback when reading session data.
  *
  * @param string $id Session id
  * @return mixed Session data
  */
 static function read($id)
 {
     $stime = microtime(true);
     $data = self::getCache()->get(self::getKey($id));
     $real = microtime(true) - $stime;
     RequestContext::getMain()->getStats()->timing("session.read", 1000 * $real);
     self::$hashCache = array($id => self::getHash($data));
     return $data === false ? '' : $data;
 }