return getPostingRuleForAdministrativeOfficeFee(when).calculateTotalAmountToPay(event, when) .add(getPostingRuleForInsurance(when).calculateTotalAmountToPay(event, when));
final AnnualEvent annualEvent = (AnnualEvent) event; return getPostingRuleForAdministrativeOfficeFee(annualEvent.getStartDate(), annualEvent.getEndDate()).calculateTotalAmountToPay(event, when).add( getPostingRuleForInsurance(annualEvent.getStartDate(), annualEvent.getEndDate()) .calculateTotalAmountToPay(event, when));
    public Money calculateTotalAmountToPay(Event event, DateTime when, boolean applyDiscount) {	return getPostingRuleForAdministrativeOfficeFee(when).calculateTotalAmountToPay(event, when)		.add(getPostingRuleForInsurance(when).calculateTotalAmountToPay(event, when));    }