if (slab.slabFields().isBetweenPeriod(periodStartDate, periodEndDate) && slab.slabFields().isAmountBetween(depositAmount)) {
effectiveInterestRate = slab.slabFields().annualInterestRate();
Set<DepositAccountInterestIncentives> depositInterestIncentives = slab.setOfIncentives();
for (DepositAccountInterestIncentives incentives : depositInterestIncentives) {
AttributeIncentiveCalculation attributeIncentiveCalculation = AttributeIncentiveCalculationFactory
.findAttributeIncentiveCalculation(incentives.interestIncentivesFields().entiryType());
IncentiveDTO incentiveDTO = new IncentiveDTO(client, effectiveInterestRate, incentives.interestIncentivesFields());
effectiveInterestRate = attributeIncentiveCalculation.calculateIncentive(incentiveDTO);
}
// effectiveInterestRate is zero or null then reset to default
// interest rate.
if (effectiveInterestRate == null || effectiveInterestRate.compareTo(BigDecimal.ZERO) == 0) {