public function Refresh()
    {
        $iPt = $this->getItemPointer();
        $this->GoToStart();
        while ($oTmp = $this->Next()) {
            if (false === $oTmp->sqlData || ($oTmp->dAmount <= 0)) {
                $this->RemoveArticle($oTmp);
            } else {
                // refresh stock from db
                $oTmp->RefreshDataFromDatabase();
            }
        }
        if ($iPt > $this->Length()) {
            $iPt = $this->Length();
        }
        $this->setItemPointer($iPt);
        $this->UpdateListData();
    }