// internal method called on background thread
 private void handleAlert(Alert alert, SimpleAlertProcessingResult result, Long creatorId) {
   Identity<Long> regarding = alert.getRegardingIdentity();
   Set<Identity<Long>> alerted = new LinkedHashSet<Identity<Long>>();
   if (regarding instanceof Event) {
     handleEventAlert(alert, (Event) regarding, alerted, creatorId);
   }
   result.setAlertedUsers(alerted);
 }