public String generateEmail(final Account account, final BillingState billingState,
final Account overdueable, final OverdueState nextOverdueState) throws IOException {
final Map<String, Object> data = new HashMap<String, Object>();
data.put("account", account);
data.put("billingState", overdueEmailFormatterFactory.createBillingStateFormatter(billingState));
data.put("overdueable", overdueable);
data.put("nextOverdueState", nextOverdueState);
return templateEngine.executeTemplate(nextOverdueState.getEnterStateEmailNotification().getTemplateName(), data);
}
}