public function StoreListObjectInSession($sViewName = null, $sViewType = null, $aCallTimeVars = null)
    {
        $oGlobal = TGlobal::instance();
        $sItemKey = $this->GetListIdentKey();
        $oExecutingModule = &$oGlobal->GetExecutingModulePointer();

        if (!array_key_exists(TdbShopArticleList::SESSIN_DUMP_NAME, $_SESSION)) {
            $_SESSION[TdbShopArticleList::SESSIN_DUMP_NAME] = array();
        }
        if (!array_key_exists($sItemKey, $_SESSION[TdbShopArticleList::SESSIN_DUMP_NAME])) {
            $_SESSION[TdbShopArticleList::SESSIN_DUMP_NAME][$sItemKey] = array();
        }
        $aOldData = $_SESSION[TdbShopArticleList::SESSIN_DUMP_NAME][$sItemKey];
        if (is_null($sViewName) && array_key_exists('sViewName', $aOldData)) {
            $sViewName = $aOldData['sViewName'];
        }
        if (is_null($sViewType) && array_key_exists('sViewType', $aOldData)) {
            $sViewType = $aOldData['sViewType'];
        }
        if (is_null($aCallTimeVars) && array_key_exists('aCallTimeVars', $aOldData)) {
            $aCallTimeVars = $aOldData['aCallTimeVars'];
        }

        if (0 === $this->GetPageSize()) {
            unset($_SESSION[TdbShopArticleList::SESSIN_DUMP_NAME][$sItemKey]);
        } else {
            $_SESSION[TdbShopArticleList::SESSIN_DUMP_NAME][$sItemKey] = array( //        'oExecutingModule'=>$oExecutingModule,
                'lastchanged' => time(), 'sObjectDump' => base64_encode(serialize($this)), 'iStartRecord' => $this->GetStartRecordNumber(), 'iPageSize' => $this->GetPageSize(), 'sViewName' => $sViewName, 'sViewType' => $sViewType, 'aCallTimeVars' => $aCallTimeVars, );
        }

        return $sItemKey;
    }