void (@NotNull AnActionEvent e) { final Project project = e.getProject(); final JavaStackFrame stackFrame = getStackFrame(e); if (stackFrame == null || project == null) { return; } final DebuggerContextImpl debuggerContext = DebuggerAction.getDebuggerContext(e.getDataContext()); final DebugProcessImpl debugProcess = debuggerContext.getDebugProcess(); if (debugProcess == null) { return; } final StackFrameProxyImpl proxy = stackFrame.getStackFrameProxy(); final ThreadReferenceProxyImpl thread = proxy.threadProxy(); debugProcess.getManagerThread().schedule(new DebuggerContextCommandImpl(debuggerContext, thread) { @Override public void threadAction(@NotNull SuspendContextImpl suspendContext) { ApplicationManager.getApplication().invokeLater( () -> new XExpressionDialog(project, debugProcess.getXdebugProcess().getEditorsProvider(), "throwExceptionValue", JavaDebuggerBundle.message("dialog.title.exception.to.throw"), stackFrame.getSourcePosition(), null) { @Override protected void doOKAction() { evaluateAndReturn(project, stackFrame, debugProcess, getExpression(), this); } }.show()); } }); }