@Override
      public void threadAction(@NotNull SuspendContextImpl suspendContext) {
        Method method;
        try {
          method = proxy.location().method();
        }
        catch (EvaluateException e) {
          showError(project, JavaDebuggerBundle.message("error.early.return", e.getLocalizedMessage()));
          return;
        }

        if (DebuggerUtilsEx.isVoid(method)) {
          forceEarlyReturnWithFinally(thread.getVirtualMachine().mirrorOfVoid(), stackFrame, debugProcess, null);
        }
        else {
          ApplicationManager.getApplication().invokeLater(
            () -> new XExpressionDialog(project, debugProcess.getXdebugProcess().getEditorsProvider(), "forceReturnValue",
                                        JavaDebuggerBundle.message("dialog.title.return.value"), stackFrame.getSourcePosition(), null) {
              @Override
              protected void doOKAction() {
                evaluateAndReturn(project, stackFrame, debugProcess, getExpression(), this);
              }
            }.show());
        }
      }
@Override
      public void threadAction(@NotNull SuspendContextImpl suspendContext)