protected function _getList($oUser = null, $sCountryId = null)
    {
        // checking for current session user which gives additional restrictions for user itself, users group and country
        if ($oUser === null) {
            $oUser = $this->getUser();
        } else {
            //set user
            $this->setUser($oUser);
        }

        $sUserId = $oUser ? $oUser->getId() : '';

        if ($sUserId !== $this->_sUserId || $sCountryId !== $this->_sCountryId) {
            // choosing delivery country if it is not set yet
            if (!$sCountryId) {
                if ($oUser) {
                    $sCountryId = $oUser->getActiveCountry();
                } else {
                    $sCountryId = $this->_sHomeCountry;
                }
            }

            $this->selectString($this->_getFilterSelect($oUser, $sCountryId));
            $this->_sUserId = $sUserId;
            $this->_sCountryId = $sCountryId;
        }

        $this->rewind();

        return $this;
    }