/**
  * Get the overall AlertState for this RaisedAlarm summary object .
  *
  * <p>This is the highest AlertState among all the RaisedAlerts for the subsystem.
  *
  * @return The highest AlertState.
  */
 public AlertState getAlertState() {
   AlertState base = AlertState.NOMINAL;
   for (RaisedAlert alert : raisedAlerts) {
     if (alert.getHighestAlertState().compareTo(base) > 0) {
       base = alert.getHighestAlertState();
     }
   }
   return base;
 }
 @Override
 public String toString() {
   StringBuilder sb = new StringBuilder();
   sb.append("Alarm Summary\n");
   sb.append("Subsystem ")
       .append(subsystem)
       .append(" seviery : ")
       .append(getAlertState())
       .append("\n");
   for (RaisedAlert alert : getRaisedAlertsForSubsystem()) {
     sb.append("Alert: ")
         .append(alert.getAlertId())
         .append(" instances: ")
         .append(alert.getNumberOfInstances())
         .append(" severity: ")
         .append(alert.getHighestAlertState())
         .append("\n");
   }
   return sb.toString();
 }