void (@NotNull String groupDisplayName, @NotNull NotificationDisplayType displayType, boolean shouldLog, boolean shouldReadAloud, @Nullable String toolWindowId) { if (!isRegistered(groupDisplayName)) { // register a new group and remember these settings as default new NotificationGroup(groupDisplayName, displayType, shouldLog, toolWindowId); // and decide whether to save them explicitly (in case of non-default shouldReadAloud) changeSettings(groupDisplayName, displayType, shouldLog, shouldReadAloud); } else if (displayType == NotificationDisplayType.TOOL_WINDOW && !hasToolWindowCapability(groupDisplayName)) { // the first time with tool window capability changeSettings(getSettings(groupDisplayName).withDisplayType(NotificationDisplayType.TOOL_WINDOW)); myToolWindowCapable.put(groupDisplayName, null); } }