private void createNotification(
      Profile profile, UGCAudit currentAudit, Map<String, Profile> actionOwnersCache) {
    if (currentAudit.getProfileId() != null
        && !currentAudit.getProfileId().equalsIgnoreCase("anonymous")) {
      Notification notification = new Notification();
      // ACTION of the current JOB
      notification.setAction(profile.getSubscriptions().getAction());

      notification.setCreatedDate(new Date());
      notification.setRow(currentAudit.getRow());

      // FORMAT of the current JOB
      notification.setFormat(profile.getSubscriptions().getFormat());

      // FORMAT of the current JOB
      notification.setFrequency(profile.getSubscriptions().getFrequency());
      notification.setSubscriberUsername(profile.getUserName());

      notification.setSubscriberEmail(profile.getEmail());
      notification.setSubscriberId(profile.getId());
      notification.setTransmitedStatus(TransmittedStatus.PENDING);

      notification.setEvent(
          createEvent(currentAudit, getActionAuditOwner(actionOwnersCache, currentAudit)));

      this.notificationRepository.save(notification);
    }
  }
  private Notification makeNotification(Properties p) {
    Notification notification = new Notification();
    String id = p.getProperty("notificationID");
    String description = p.getProperty("description");

    notification.setId(Integer.parseInt(id));
    notification.setMessage(description);
    notification.setRecipient(queryNotificationTo(Integer.parseInt(id)));
    Event event = queryNotificationEvent(Integer.parseInt(id));
    notification.setEvent(event);
    return notification;
  }