private static ThreadReferenceProxy getEvaluationThread(final EvaluationContext evaluationContext) throws EvaluateException {
    ThreadReferenceProxy fromStackFrame =
      ObjectUtils.doIfNotNull(evaluationContext.getFrameProxy(), stackFrameProxy -> stackFrameProxy.threadProxy());
    SuspendContextImpl suspendContext = (SuspendContextImpl)evaluationContext.getSuspendContext();
    ThreadReferenceProxy evaluationThread = fromStackFrame != null ? fromStackFrame : suspendContext.getThread();
    if (suspendContext.myNotExecutableThreads.contains(evaluationThread)) {
      evaluationThread = suspendContext.getEventThread();
    }
    if (evaluationThread == null) {
      throw EvaluateExceptionUtil.NULL_STACK_FRAME;
    }
    return evaluationThread;
  }
private static ThreadReferenceProxy getEvaluationThread(final EvaluationContext evaluationContext)