public function GetPreviousItem()
    {
        $oPreviousItem = &$this->GetFromInternalCache('oPreviousItem');
        if (is_null($oPreviousItem)) {
            $oItemList = TdbPkgImageHotspotItemList::GetListForPkgImageHotspotId($this->fieldPkgImageHotspotId);
            $oItemList->bAllowItemCache = true;
            if ($oItemList->Length() > 1) {
                $oPreviousItem = null;
                $oItemList->GoToEnd();
                while (is_null($oPreviousItem) && ($oTmpItem = $oItemList->Previous())) {
                    if ($oTmpItem->IsSameAs($this)) {
                        $oPreviousItem = $oItemList->Previous();
                    }
                }
                if (!$oPreviousItem) {
                    $oItemList->GoToEnd();
                    $oPreviousItem = $oItemList->Previous();
                    if (!$oPreviousItem || $oPreviousItem->IsSameAs($this)) {
                        $oPreviousItem = false;
                    }
                }
            }
            $this->SetInternalCache('oPreviousItem', $oPreviousItem);
        }

        return $oPreviousItem;
    }