@SuppressWarnings("unchecked")
public static BigDecimal determineOfferUnitValue(Offer offer, PromotableCandidateItemOffer promotableCandidateItemOffer) {
if (offer instanceof AdvancedOffer) {
AdvancedOffer advancedOffer = (AdvancedOffer) offer;
if (advancedOffer.isTieredOffer()) {
int quantity = promotableCandidateItemOffer.calculateTargetQuantityForTieredOffer();
List<OfferTier> offerTiers = advancedOffer.getOfferTiers();
Collections.sort(offerTiers, new BeanComparator("minQuantity"));
OfferTier maxTier = null;
//assuming that promotableOffer.getOffer()).getOfferTiers() is sorted already