@Nullable
  public static SuspendContextImpl getContextForEvaluation(@NotNull SuspendManager suspendManager) {
    // first try to take the context from the current command, if any
    DebuggerCommandImpl currentCommand = DebuggerManagerThreadImpl.getCurrentCommand();
    SuspendContextImpl currentSuspendContext =
      currentCommand instanceof SuspendContextCommandImpl suspendContextCommand ? suspendContextCommand.getSuspendContext() : null;
    if (currentSuspendContext != null) {
      if (currentSuspendContext.isResumed()) {
        currentSuspendContext.getDebugProcess().logError("Cannot use context " + currentSuspendContext + " for evaluation");
        return null;
      }
      return currentSuspendContext;
    }
    ((SuspendManagerImpl)suspendManager).getDebugProcess().logError(
      "Evaluation should be performed in the SuspendContextCommandImpl, so evaluation context should come from there");
    return suspendManager.getPausedContext();
  }
@Nullable
  public static SuspendContextImpl getContextForEvaluation(@NotNull SuspendManager suspendManager)