public void setTags(@NotNull List<String> tags) {
    if (tags.isEmpty()) {
      setVisible(false);
      return;
    }

    int newSize = tags.size();
    int oldSize = getComponentCount();
    int commonSize = Math.min(newSize, oldSize);

    for (int i = 0; i < commonSize; i++) {
      TagComponent component = (TagComponent)getComponent(i);
      component.setToolTipText(null);
      component.setText(tags.get(i));
      component.setVisible(true);
    }

    if (newSize > oldSize) {
      for (int i = oldSize; i < newSize; i++) {
        TagComponent component = new TagComponent(tags.get(i));
        add(PluginManagerConfigurable.setTinyFont(component));
        //noinspection unchecked
        component.setListener(mySearchListener, component);
      }
    }
    else if (newSize < oldSize) {
      for (int i = newSize; i < oldSize; i++) {
        getComponent(i).setVisible(false);
      }
    }

    setVisible(true);
  }
public void setTags(@NotNull List<String> tags)