Strange behavior while overloading oxorder::finalizeOrder

Hi Guys,

I needed to overload the oxorder::finalizeOrder method and I did…here it is what I have done…

============================================================
public function finalizeOrder( oxBasket $oBasket, $oUser, $blRecalculatingOrder = false )
{
//here the value of blRecalculatingOrder is true…
$iReturn = parent::finalizeOrder($oBasket, $oUser, $blRecalculatingOrder);

.
.
.my implementations…
.
.

return $iReturn;
}

now the problem is that oxid it self uses the last parameter passed as true to skip some actions in finalizeOrder function…but because of overloading it is not working…when blRecalculatingOrder is true then it should go true to “parent::finalizeOrder($oBasket, $oUser, $blRecalculatingOrder);” also…but after testing in the original finalizeOrder function in core/oxorder class it seems the passing of blRecalculating=true from my module does not go to the original method in oxorder.php. in oxorder.php the value received is false…

now the second strange part…

when I call the parent::finalizeOrder($oBasket, $oUser, $blRecalculatingOrder); line with oxorder::finalizeOrder($oBasket, $oUser, $blRecalculatingOrder); then the value blRecalculating=true goes from my overloaded function to the original file function…

can anybody explain me this behavior…

Thanks,