@Override
 public ValidateResult validate(
     RawEmailTemplates rawEmailTemplates, Map<String, Object> parameters) {
   ValidateResult validateResult = new ValidateResult();
   ParsedEmailTemplates parsedEmailTemplates =
       emailTemplateLoader.parse(rawEmailTemplates, validateResult);
   emailRenderer.render(parsedEmailTemplates, new Email(), parameters, validateResult);
   return validateResult;
 }
 private PreviewResult preview(
     RawEmailTemplates rawEmailTemplates, PreviewEmailBuilder previewEmailBuilder) {
   PreviewResult previewResult = new PreviewResult(previewEmailBuilder.getEmail());
   ParsedEmailTemplates parsedEmailTemplates =
       emailTemplateLoader.parse(rawEmailTemplates, previewResult);
   emailRenderer.render(
       parsedEmailTemplates,
       previewEmailBuilder.getEmail(),
       previewEmailBuilder.getParameters(),
       previewResult);
   return previewResult;
 }
 private PreviewResult preview(
     Object templateId, List<Locale> preferredLanguages, PreviewEmailBuilder previewEmailBuilder) {
   PreviewResult previewResult = new PreviewResult(previewEmailBuilder.getEmail());
   ParsedEmailTemplates parsedEmailTemplates =
       emailTemplateLoader.load(templateId, preferredLanguages, previewResult);
   emailRenderer.render(
       parsedEmailTemplates,
       previewEmailBuilder.getEmail(),
       previewEmailBuilder.getParameters(),
       previewResult);
   return previewResult;
 }
 private SendResult sendLater(
     Object templateId, List<Locale> preferredLanguages, SendEmailBuilder sendEmailBuilder) {
   SendResult sendResult = new SendResult(sendEmailBuilder.getEmail());
   ParsedEmailTemplates parsedEmailTemplates =
       emailTemplateLoader.load(templateId, preferredLanguages, sendResult);
   emailRenderer.render(
       parsedEmailTemplates,
       sendEmailBuilder.getEmail(),
       sendEmailBuilder.getParameters(),
       sendResult);
   emailTransportService.sendEmailLater(sendEmailBuilder.getEmail(), sendResult);
   return sendResult;
 }