/** {@inheritDoc} */
  @Override
  public void configurationChanged(ConfigurationChangeEvent ev) {
    final ServerDescriptor desc = ev.getNewDescriptor();
    Schema s = desc.getSchema();
    final boolean schemaChanged;
    if (schema != null && s != null) {
      schemaChanged = !ServerDescriptor.areSchemasEqual(s, schema);
    } else if (schema == null && s != null) {
      schemaChanged = true;
    } else if (s == null && schema != null) {
      schemaChanged = false;
    } else {
      schemaChanged = false;
    }
    if (schemaChanged) {
      schema = s;

      updateErrorPaneIfAuthRequired(
          desc,
          isLocal()
              ? INFO_CTRL_PANEL_AUTHENTICATION_REQUIRED_FOR_OBJECTCLASS_EDIT.get()
              : INFO_CTRL_PANEL_CANNOT_CONNECT_TO_REMOTE_DETAILS.get(desc.getHostname()));
    } else if (schema == null) {
      updateErrorPane(
          errorPane,
          ERR_CTRL_PANEL_SCHEMA_NOT_FOUND_SUMMARY.get(),
          ColorAndFontConstants.errorTitleFont,
          ERR_CTRL_PANEL_SCHEMA_NOT_FOUND_DETAILS.get(),
          ColorAndFontConstants.defaultFont);
    }
    SwingUtilities.invokeLater(
        new Runnable() {
          /** {@inheritDoc} */
          @Override
          public void run() {
            delete.setEnabled(
                !authenticationRequired(desc) && !authenticationRequired(desc) && schema != null);
            checkEnableSaveChanges();
            saveChanges.setEnabled(
                saveChanges.isEnabled()
                    && !authenticationRequired(desc)
                    && !authenticationRequired(desc)
                    && schema != null);
            if (schemaChanged && schema != null) {
              superiors.setSchema(schema);
              updateAttributes();
            }
          }
        });
  }
 /** {@inheritDoc} */
 public void configurationChanged(ConfigurationChangeEvent ev) {
   final ServerDescriptor desc = ev.getNewDescriptor();
   updateErrorPaneIfAuthRequired(
       desc,
       isLocal()
           ? INFO_CTRL_PANEL_AUTHENTICATION_REQUIRED_FOR_INDEX_EDITING.get()
           : INFO_CTRL_PANEL_CANNOT_CONNECT_TO_REMOTE_DETAILS.get(desc.getHostname()));
   SwingUtilities.invokeLater(
       new Runnable() {
         public void run() {
           checkSaveButton();
           deleteIndex.setEnabled(!authenticationRequired(desc));
         }
       });
 }
 /** {@inheritDoc} */
 public void configurationChanged(ConfigurationChangeEvent ev) {
   ignoreSelectionEvents = true;
   ServerDescriptor desc = ev.getNewDescriptor();
   updateSimpleBackendComboBoxModel(backends, lNoBackendsFound, desc);
   refreshContents(desc);
 }
 /** {@inheritDoc} */
 public void configurationChanged(ConfigurationChangeEvent ev) {
   ServerDescriptor desc = ev.getNewDescriptor();
   refreshContents(desc);
 }