/**
  * Retrive assiciation information for given $url from internal cahce or
  * external storage
  *
  * @param string $url OpenID server url
  * @param string &$handle association handle
  * @param string &$macFunc HMAC function (sha1 or sha256)
  * @param string &$secret shared secret
  * @param integer &$expires expiration UNIX time
  * @return void
  */
 protected function _getAssociation($url, &$handle, &$macFunc, &$secret, &$expires)
 {
     if (isset($this->_cache[$url])) {
         $handle = $this->_cache[$url][0];
         $macFunc = $this->_cache[$url][1];
         $secret = $this->_cache[$url][2];
         $expires = $this->_cache[$url][3];
         return true;
     }
     if ($this->_storage->getAssociation($url, $handle, $macFunc, $secret, $expires)) {
         $this->_cache[$url] = array($handle, $macFunc, $secret, $expires);
         return true;
     }
     return false;
 }