class EmailNotificationServiceImpl extends AbstractNotificationServiceImpl<EmailNotification> implements EmailNotificationService {

    @Transactional
    @Nonnull
    @Override
    public EmailNotification createEmailNotification(@Nonnull final EmailNotificationDto emailNotificationDto) {
        assertEmailNotificationDto(emailNotificationDto);
        LOGGER.debug("Creating email notification for DTO - {} and property dtos - {}", emailNotificationDto, emailNotificationDto.getProperties());
        EmailNotification emailNotification = new EmailNotification(true);
        emailNotification.setFileAttachments(emailNotificationDto.getFileAttachments());
        emailNotificationDto.updateDomainEntityProperties(emailNotification);
        // Persist notification
        emailNotification = emailNotificationRepository.save(emailNotification);
        associateNotificationWithUser(emailNotificationDto, emailNotification);
        LOGGER.debug("Successfully created email notification with id - {}, email notification - {}", emailNotification.getId(), emailNotification);
        return emailNotification;
    }

      EmailNotificationServiceImpl();

}