public static function GetNavigationStepList(TdbShopOrderStep $oActiveStep)
    {
        $query = "SELECT *
                 FROM `shop_order_step`
                WHERE `show_in_navigation` = '1'
             ORDER BY `position` ASC
              ";
        $oSteps = &TdbShopOrderStepList::GetList($query);
        $oSteps->bAllowItemCache = true;
        $stepIdList = array();
        while ($oStep = &$oSteps->Next()) {
            if (false === $oStep->IsActive()) {
                continue;
            }
            $stepIdList[] = MySqlLegacySupport::getInstance()->real_escape_string($oStep->id);
            if ($oActiveStep->id == $oStep->id) {
                $oStep->bIsTheActiveStep = true;
            } else {
                $oStep->bIsTheActiveStep = false;
            }
        }

        $query = "SELECT *
                 FROM `shop_order_step`
                WHERE `show_in_navigation` = '1' AND `id` IN ('".implode("','", $stepIdList)."')
             ORDER BY `position` ASC
              ";
        $oSteps = &TdbShopOrderStepList::GetList($query);
        $oSteps->bAllowItemCache = true;
        while ($oStep = &$oSteps->Next()) {
            $stepIdList[] = $oStep->id;
            if ($oActiveStep->id == $oStep->id) {
                $oStep->bIsTheActiveStep = true;
            } else {
                $oStep->bIsTheActiveStep = false;
            }
        }

        $oSteps->GoToStart();

        return $oSteps;
    }