protected function isAnonymous($ks)
 {
     if (parent::isAnonymous($ks)) {
         return true;
     } else {
         if (!$ks) {
             return false;
         }
     }
     if ($this->clientTag && strpos($this->clientTag, 'kmc') === 0) {
         return false;
     }
     // force caching of actions listed in kConf even if admin ks is used
     if (!kConf::hasParam('v3cache_ignore_admin_ks')) {
         return false;
     }
     $v3cacheIgnoreAdminKS = kConf::get('v3cache_ignore_admin_ks');
     if (!isset($v3cacheIgnoreAdminKS[$ks->partner_id])) {
         return false;
     }
     $actions = explode(',', $v3cacheIgnoreAdminKS[$ks->partner_id]);
     foreach ($actions as $action) {
         list($serviceId, $actionId) = explode('.', $action);
         if ($this->_params['service'] == $serviceId && $this->_params['action'] == $actionId) {
             return true;
         }
     }
     return false;
 }