void (@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); }