private void updateAdditionalDataComponent() {
    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);
        }
      }
    }
  }
private void updateAdditionalDataComponent()