Notification () { if (myNotification == null) { Icon icon = StringUtil.isEmpty(myIcon) ? null : IconLoader.findIcon(myIcon, NotificationInfo.class.getClassLoader()); String displayId = mySticky ? Holder.TEST_STICKY_GROUP.getDisplayId() : TEST_GROUP_ID; if (myToolwindow) { displayId = Holder.TEST_TOOLWINDOW_GROUP.getDisplayId(); } String content = myContent == null ? "" : String.join("\n", myContent); myNotification = new Notification(displayId, content, myType).setIcon(icon).setTitle(myTitle, mySubtitle); NotificationListener listener = getListener(); if (listener != null) { myNotification.setListener(listener); } if (myRemindLaterHandlerId != null) { myNotification.setRemindLaterHandlerId(myRemindLaterHandlerId); } myNotification.setSuggestionType(mySuggestionType); myNotification.setImportantSuggestion(myImportantSuggestion); if (myActions != null && !myToolwindow) { for (String action : myActions) { myNotification.addAction(new MyAnAction(action)); } } if (myHelp != null) { myNotification.setContextHelpAction(new AnAction("", myHelp, null) { @Override public void actionPerformed(@NotNull AnActionEvent e) { } }); } } myNotification.setCollapseDirection(myLeftActionsDirection ? CollapseActionsDirection.KEEP_LEFTMOST : CollapseActionsDirection.KEEP_RIGHTMOST); return myNotification; }