public override Money CalculateRebate(Product product, int quantity, Money regularCost) { Money baseValue = (Decorated == null) ? regularCost : Decorated.CalculateRebate(product, quantity, regularCost); if (baseValue > _minimalThreshold) { return(baseValue - _rebateValue); } return(baseValue); }