public static function getInstance(&$query = null, $nolimit = false)
 {
     if (!class_exists('VmConfig')) {
         require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php';
         VmConfig::loadConfig();
     }
     $instanceKey = VMLANG;
     if (isset($query['langswitch'])) {
         if ($query['langswitch'] != VMLANG) {
             $instanceKey = $query['langswitch'];
         }
         unset($query['langswitch']);
     }
     if (!array_key_exists($instanceKey, self::$_instances)) {
         self::$_instances[$instanceKey] = new vmrouterHelperSEFforOPC($instanceKey, $query);
         if (empty($nolimit)) {
             if (self::$limit === null) {
                 $mainframe = Jfactory::getApplication();
                 $view = 'virtuemart';
                 if (isset($query['view'])) {
                     $view = $query['view'];
                 }
                 self::$limit = $mainframe->getUserStateFromRequest('com_virtuemart.' . $view . '.limit', VmConfig::get('list_limit', 20), 'int');
                 // 				self::$limit= $mainframe->getUserStateFromRequest('global.list.limit', 'limit', VmConfig::get('list_limit', 20), 'int');
             }
         }
     }
     return self::$_instances[$instanceKey];
 }