protected Money subtractFromExemptions(Event event, DateTime when, boolean applyDiscount, Money amountToPay) {
if (!event.getExemptionsSet().isEmpty()) {
Collection<Exemption> exemptions = event.getExemptionsSet();
for (Exemption exemption : exemptions) {
AcademicEventExemption academicEventExemption = (AcademicEventExemption) exemption;
amountToPay = amountToPay.subtract(academicEventExemption.getValue());
}
}
if (amountToPay.isNegative()) {
return Money.ZERO;