protected void addHeader(@Nullable SettingsEditorFragment<Settings, ?> header) {
    JPanel panel = new JPanel(new BorderLayout());
    panel.setBorder(JBUI.Borders.empty(5, 0));
    if (header != null) {
      panel.add(header.getComponent(), BorderLayout.WEST);
    }
    var separator = createHeaderSeparator();
    if (separator != null) {
      panel.add(separator, BorderLayout.CENTER);
    }
    String message = OptionsBundle.message(myMain == null ? "settings.editor.modify.options" : "settings.editor.modify");
    myLinkLabel = new DropDownLink<>(message, link -> showOptions());
    myLinkLabel.setBorder(JBUI.Borders.emptyLeft(5));
    JPanel linkPanel = new JPanel(new BorderLayout());
    linkPanel.add(myLinkLabel, BorderLayout.CENTER);
    CustomShortcutSet shortcutSet = KeymapUtil.getShortcutsForMnemonicCode(TextWithMnemonic.parse(message).getMnemonicCode());
    if (shortcutSet != null) {
      List<String> list = ContainerUtil.sorted(ContainerUtil.map(shortcutSet.getShortcuts(), shortcut -> KeymapUtil.getShortcutText(shortcut)),
      Comparator.comparingInt(String::length));
      JLabel shortcutLabel = new JLabel(list.get(0));
      shortcutLabel.setEnabled(false);
      shortcutLabel.setBorder(JBUI.Borders.empty(0, 5));
      linkPanel.add(shortcutLabel, BorderLayout.EAST);
    }
    panel.add(linkPanel, BorderLayout.EAST);
    addLine(panel, myMain == null ? TOP_INSET : LARGE_TOP_INSET, 0, 0);
  }
protected void addHeader(@Nullable SettingsEditorFragment<Settings, ?> header)