public InstallOptionsWidgetEditorDialog(Shell parent, INIFile iniFile, INISection section) {
   super(parent);
   mDialog = InstallOptionsDialog.loadINIFile(iniFile);
   mSection = section;
   mCurrentWidget = (InstallOptionsWidget) mDialog.getElement(mSection);
   mCreateMode = (mCurrentWidget == null);
   mOldValidateFixMode = iniFile.getValidateFixMode();
   iniFile.setValidateFixMode(
       mCreateMode ? INILine.VALIDATE_FIX_ALL : INILine.VALIDATE_FIX_ERRORS);
   setTitle(
       mCreateMode
           ? InstallOptionsPlugin.getResourceString("create.control.dialog.title")
           : InstallOptionsPlugin.getResourceString(
               "edit.control.dialog.title")); //$NON-NLS-1$ //$NON-NLS-2$
 }
 @Override
 public boolean close() {
   if (mSection != null) {
     INIFile iniFile = (INIFile) mSection.getParent();
     if (iniFile != null) {
       iniFile.setValidateFixMode(mOldValidateFixMode);
     }
   }
   if (mCurrentWidget != null) {
     mCurrentWidget.removeModelCommandListener(InstallOptionsWidgetEditorDialog.this);
     mCurrentWidget.removePropertyChangeListener(InstallOptionsWidgetEditorDialog.this);
     if (mCurrentWidget.getParent() != null) {
       mCurrentWidget
           .getParent()
           .removePropertyChangeListener(InstallOptionsWidgetEditorDialog.this);
     }
   }
   return super.close();
 }