void () { final List<Descriptor> descriptors = ContainerUtil.map(myTableSettings.getNodes(), inspectionConfigTreeNode -> inspectionConfigTreeNode.getDefaultDescriptor()); final ScopesChooser scopesChooser = new ScopesChooser(descriptors, myInspectionProfile, myProject, myScopeNames) { @Override protected void onScopeAdded(@NotNull String scopeName) { myTableSettings.onScopeAdded(); refreshAggregatedScopes(); for (int i = 0; i < getRowCount(); i++) { if (getScopeName(i).equals(scopeName)) { fireTableRowsInserted(i, i); myTable.clearSelection(); myTable.setRowSelectionInterval(i, i); } } } @Override protected void onScopesOrderChanged() { myTableSettings.onScopesOrderChanged(); } }; DataContext dataContext = DataManager.getInstance().getDataContext(myTable); final ListPopup popup = JBPopupFactory.getInstance() .createActionGroupPopup(LangBundle.message("scopes.chooser.popup.title.select.scope.to.change.its.settings"), scopesChooser.createPopupActionGroup(myTable, dataContext), dataContext, JBPopupFactory.ActionSelectionAid.SPEEDSEARCH, false); final RelativePoint point = new RelativePoint(myTable, new Point(0, 0)); popup.show(point); }