// called under "this" lock
 private void mapAlertByGroupUid(Alert alert) {
   AlertGroup alertGroup = alertGroupByGroupUidMapping.get(alert.getGroupUid());
   boolean needsNewAlertGroup = (alertGroup != null && alertGroup.isResolved());
   if (alertGroup == null || needsNewAlertGroup) {
     alertGroup = new AlertGroup();
     alertGroup.addAlert(alert);
     alertGroupByGroupUidMapping.put(alert.getGroupUid(), alertGroup);
     alertGroupList.addFirst(alertGroup);
   } else {
     alertGroup.addAlert(alert);
     alertGroupList.remove(alertGroup);
     alertGroupList.addFirst(alertGroup);
   }
 }