@Override
  protected void hyperlinkActivated(@NotNull HyperlinkEvent e) {

    final String description = e.getDescription();

    if (description != null && description.trim().startsWith(HELP_LINK_MARKER)) {

      final String wouldBeHelpId = description.trim().substring(HELP_LINK_MARKER.length()).trim();

      if (StringUtil.isNotEmpty(wouldBeHelpId)) {
        final ApplicationNamesInfo nameInfo = ApplicationNamesInfo.getInstance();
        final String editionName = nameInfo.getEditionName();


        final String productName = StringUtil.toLowerCase(nameInfo.getProductName());
        final String productWebPath = switch (productName) {
          case "rubymine", "ruby" -> "ruby";
          case "intellij idea", "idea" -> "idea";
          case "goland" -> "go";
          case "appcode" -> "objc";
          case "pycharm" -> editionName != null && "edu".equals(StringUtil.toLowerCase(editionName)) ? "pycharm-edu" : "pycharm";
          default -> productName;
        };

        BrowserUtil.browse(String.format(URL_TEMPLATE, productWebPath, wouldBeHelpId, ApplicationInfo.getInstance().getShortVersion()));
        return;
      }
    }
    super.hyperlinkActivated(e);
  }
@Override
  protected void hyperlinkActivated(@NotNull HyperlinkEvent e)