void () { Object selectedObject = myConfigurable.getSelectedObject(); mySelectedScope = selectedObject instanceof NamedScope ? (NamedScope)selectedObject : null; super.doOKAction(); if (myCheckShared && mySelectedScope != null) { final Project project = myProject; final DependencyValidationManager manager = DependencyValidationManager.getInstance(project); NamedScope scope = manager.getScope(mySelectedScope.getScopeId()); if (scope == null) { if (MessageDialogBuilder .yesNo(IdeBundle.message("scope.unable.to.save.scope.title"), IdeBundle.message("scope.unable.to.save.scope.message")) .icon(Messages.getErrorIcon()).ask(project)) { final String newName = Messages.showInputDialog(project, IdeBundle.message("add.scope.name.label"), IdeBundle.message("scopes.save.dialog.title.shared"), Messages.getQuestionIcon(), mySelectedScope.getScopeId(), new InputValidator() { @Override public boolean checkInput(String inputString) { return inputString != null && inputString.length() > 0 && manager.getScope(inputString) == null; } @Override public boolean canClose(String inputString) { return checkInput(inputString); } }); if (newName != null) { final PackageSet packageSet = mySelectedScope.getValue(); scope = new NamedScope(newName, manager.getIcon(), packageSet != null ? packageSet.createCopy() : null); mySelectedScope = scope; manager.addScope(mySelectedScope); } } } } }