private @NotNull BorderLayoutPanel createFeedbackNotificationPanel(
    @NotNull TripleFunction<@NotNull String, @NotNull String, @Nullable Project, @Nullable DialogWrapper> createDialogWrapperFunction) {
    final BorderLayoutPanel panel = createBaseNotificationPanel();

    final HyperlinkEventAction action = (e) -> {
      if (myPlugin == null) {
        return;
      }

      if (e.getDescription().equals("showFeedback")) {
        final String pluginIdString = myPlugin.getPluginId().getIdString();
        final String pluginName = myPlugin.getName();
        final Component component = e.getInputEvent().getComponent();
        final Project project = ProjectUtil.getProjectForComponent(component);

        final DialogWrapper feedbackDialog = createDialogWrapperFunction.fun(pluginIdString, pluginName, project);
        if (feedbackDialog == null) {
          return;
        }
        boolean isSent = feedbackDialog.showAndGet();
        if (isSent) {
          mySentFeedbackPlugins.add(myPlugin.getPluginId());
          updateNotifications();
        }
      }
    };
    final DslLabel label = new DslLabel(DslLabelType.LABEL);
    label.setMaxLineLength(UtilsKt.MAX_LINE_LENGTH_WORD_WRAP);
    @NlsSafe String text = "<span>Foo</span>";
    label.setText(text);
    label.setMinimumSize(label.getPreferredSize());
    label.setText(IdeBundle.message("plugins.configurable.plugin.feedback"));
    label.setAction(action);

    panel.addToCenter(label);
    return panel;
  }
private @NotNull BorderLayoutPanel createFeedbackNotificationPanel(
    @NotNull TripleFunction<@NotNull String, @NotNull String, @Nullable Project, @Nullable DialogWrapper> createDialogWrapperFunction)