private boolean hasPenalty(final Event event, final DateTime when) {
if (event.hasAnyPenaltyExemptionsFor(ImprovementOfApprovedEnrolmentPenaltyExemption.class)) {
return false;
} else {
final ImprovementOfApprovedEnrolmentEvent improvementOfApprovedEnrolmentEvent =
(ImprovementOfApprovedEnrolmentEvent) event;
final Set<EnrolmentEvaluation> enrolmentEvaluations =
improvementOfApprovedEnrolmentEvent.getImprovementEnrolmentEvaluationsSet();
if (enrolmentEvaluations.isEmpty()) {
return false;
}
return !getEnrolmentPeriodInImprovementOfApprovedEnrolment(enrolmentEvaluations.iterator().next()).containsDate(when);
}