public static function getRouteByStorage(&$storage, $sef, $itemId, $config = array())
 {
     if (isset($storage[self::$table]->_route)) {
         return JRoute::_($storage[self::$table]->_route);
     }
     $bridge = JCckDatabase::loadObject('SELECT a.id, a.title, a.alias, a.catid, b.title AS category_title, b.alias AS category_alias' . ' FROM #__content AS a LEFT JOIN #__categories AS b ON b.id = a.catid' . ' WHERE a.id=' . (int) $config['pkb']);
     if (!is_object($bridge)) {
         $storage[self::$table]->_route = '';
         return $storage[self::$table]->_route;
     }
     $bridge->slug = $bridge->alias ? $bridge->id . ':' . $bridge->alias : $bridge->id;
     if ($sef) {
         if ($sef == '0' || $sef == '1') {
             $path = '&catid=' . $bridge->catid;
         } elseif ($sef[0] == '4') {
             $path = '&catid=' . (isset($bridge->category_alias) ? $bridge->category_alias : $bridge->catid);
         } elseif ($sef[0] == '3') {
             $path = '&typeid=' . $config['type'];
         } else {
             $path = '';
         }
         $storage[self::$table]->_route = plgCCK_Storage_LocationJoomla_Article::_getRoute($sef, $itemId, $bridge->slug, $path);
     } else {
         require_once JPATH_SITE . '/components/com_content/helpers/route.php';
         $storage[self::$table]->_route = ContentHelperRoute::getArticleRoute($bridge->slug, $bridge->catid);
     }
     return JRoute::_($storage[self::$table]->_route);
 }