@Override
public List<EntryDTO> calculateEntries(Event event, DateTime when) {
final List<EntryDTO> result = new ArrayList<EntryDTO>();
final AdministrativeOfficeFeeAndInsuranceEvent administrativeOfficeFeeAndInsuranceEvent =
(AdministrativeOfficeFeeAndInsuranceEvent) event;
final AnnualEvent annualEvent = (AnnualEvent) event;
if (administrativeOfficeFeeAndInsuranceEvent.hasToPayAdministrativeOfficeFee()) {
result.addAll(getPostingRuleForAdministrativeOfficeFee(annualEvent.getStartDate(), annualEvent.getEndDate())
.calculateEntries(event, when));
}
if (administrativeOfficeFeeAndInsuranceEvent.hasToPayInsurance()) {
result.addAll(getPostingRuleForInsurance(annualEvent.getStartDate(), annualEvent.getEndDate()).calculateEntries(
event, when));
}
return result;