protected void addTagPanel(@NotNull List<? extends SettingsEditorFragment<Settings, ?>> tags) {
    JPanel tagsPanel = new JPanel(new WrapLayout(FlowLayout.LEADING, JBUI.scale(TAG_HGAP), JBUI.scale(TAG_VGAP))) {
      @Override
      public Dimension getMinimumSize() {
        Dimension minimumSize = super.getMinimumSize();
        Dimension preferredSize = getPreferredSize();
        minimumSize.height = Math.max(minimumSize.height, preferredSize.height);
        return minimumSize;
      }
    };
    for (SettingsEditorFragment<Settings, ?> tag : tags) {
      tagsPanel.add(tag.getComponent());
    }
    if (tagsPanel.getComponentCount() > 0) {
      hideWhenChildrenIsInvisible(tagsPanel);
      addLine(tagsPanel, MEDIUM_TOP_INSET, -getLeftInset((JComponent)tagsPanel.getComponent(0)) - TAG_HGAP, 0);
    }
  }
protected void addTagPanel(@NotNull List<? extends SettingsEditorFragment<Settings, ?>> tags)