void () { myAdditionalDataPanel.removeAll(); for (AdditionalDataConfigurable configurable : getAdditionalDataConfigurable()) { JComponent component = myAdditionalDataComponents.get(configurable); if (component == null) { component = configurable.createComponent(); myAdditionalDataComponents.put(configurable, component); } if (component != null) { if (configurable.getTabName() != null) { for (int i = 0; i < myTabbedPane.getTabCount(); i++) { if (configurable.getTabName().equals(myTabbedPane.getTitleAt(i))) { myTabbedPane.removeTabAt(i); } } myTabbedPane.addTab(configurable.getTabName(), component); } else { myAdditionalDataPanel.add(component, BorderLayout.CENTER); } } } }