@Override
  public void drop(@NotNull XStackFrame frame) {
    if (frame instanceof JavaStackFrame stackFrame) {
      var project = myDebugSession.getProject();
      var debugProcess = myDebugSession.getProcess();
      var debuggerContext = myDebugSession.getContextManager().getContext();
      try {
        myDebugSession.setSteppingThrough(stackFrame.getStackFrameProxy().threadProxy());
        if (evaluateFinallyBlocks(project,
                                  XDebuggerBundle.message("xdebugger.reset.frame.title"),
                                  stackFrame,
                                  new XDebuggerEvaluator.XEvaluationCallback() {
                                    @Override
                                    public void evaluated(@NotNull XValue result) {
                                      popFrame(debugProcess, debuggerContext, stackFrame);
                                    }

                                    @Override
                                    public void errorOccurred(@NotNull final String errorMessage) {
                                      showError(project, JavaDebuggerBundle.message("error.executing.finally", errorMessage),
                                                XDebuggerBundle.message("xdebugger.reset.frame.title"));
                                    }
                                  })) {
          return;
        }
        popFrame(debugProcess, debuggerContext, stackFrame);
      }
      catch (InvalidStackFrameException | VMDisconnectedException ignored) {
      }
    }
  }
@Override
  public void drop(@NotNull XStackFrame frame)