void (@NotNull final AnActionEvent e) { final DebuggerContextImpl debuggerContext = DebuggerAction.getDebuggerContext(e.getDataContext()); DebugProcessImpl process = debuggerContext.getDebugProcess(); if (process == null) { return; } StackFrameProxyImpl proxy = getStackFrameProxy(e); process.getManagerThread().schedule(new DebuggerCommandImpl() { @Override protected void action() { final String name = getClassName(proxy != null ? proxy : debuggerContext.getFrameProxy()); if (name == null) { return; } final Project project = e.getData(CommonDataKeys.PROJECT); ApplicationManager.getApplication().invokeLater(() -> { String filter = Messages.showInputDialog(project, "", JavaDebuggerBundle.message("add.stepping.filter"), null, name, null); if (filter != null) { ClassFilter[] newFilters = ArrayUtil.append(DebuggerSettings.getInstance().getSteppingFilters(), new ClassFilter(filter)); DebuggerSettings.getInstance().setSteppingFilters(newFilters); } }); } }); }