@Override
  public synchronized void loadState(@NotNull Element state) {
    myIdToSettingsMap.clear();
    for (Element child : state.getChildren("notification")) {
      NotificationSettings settings = NotificationSettings.Companion.load(child);
      if (settings != null) {
        String id = settings.getGroupId();
        LOG.assertTrue(!myIdToSettingsMap.containsKey(id), String.format("Settings for '%s' already loaded!", id));
        myIdToSettingsMap.put(id, settings);
      }
    }
    doRemove("Log Only");

    //noinspection NonPrivateFieldAccessedInSynchronizedContext
    SHOW_BALLOONS = !"false".equals(state.getAttributeValue(SHOW_BALLOONS_ATTRIBUTE));

    //noinspection NonPrivateFieldAccessedInSynchronizedContext
    SYSTEM_NOTIFICATIONS = !"false".equals(state.getAttributeValue(SYSTEM_NOTIFICATIONS_ATTRIBUTE));

    NotificationAnnouncingMode announcingMode = NotificationAnnouncingMode.get(state.getAttributeValue(NOTIFICATION_ANNOUNCING_MODE_ATTRIBUTE));
    if (announcingMode != null) {
      NOTIFICATION_ANNOUNCING_MODE = announcingMode;
    }
  }
@Override
  public synchronized void loadState(@NotNull Element state)