@Override protected Money subtractFromExemptions( Event event, DateTime when, boolean applyDiscount, Money amountToPay) { if (event instanceof AcademicEvent) { final AcademicEvent requestEvent = (AcademicEvent) event; if (requestEvent.hasAcademicEventExemption()) { amountToPay = amountToPay.subtract(requestEvent.getAcademicEventExemption().getValue()); } return amountToPay.isPositive() ? amountToPay : Money.ZERO; } return amountToPay; }