private void resumeNew(@NotNull SuspendContextImpl context) {
    ThreadReferenceProxyImpl eventThread = context.getEventThread();
    if (eventThread != null && isFrozen(eventThread)) {
      if (context.getSuspendPolicy() != EventRequest.SUSPEND_EVENT_THREAD) {
        logError("Suspend policy for frozen context " + context + " is " + context.getSuspendPolicy());
      }
      myFrozenThreads.remove(eventThread);
    }

    popContext(context);
    if (context.getSuspendPolicy() == EventRequest.SUSPEND_ALL) {
      if (!ContainerUtil.exists(myPausedContexts, c -> c.getSuspendPolicy() == EventRequest.SUSPEND_ALL)) {
        myExplicitlyResumedThreads.clear();
      }
    }
    Set<ThreadReferenceProxyImpl> resumedThreads = context.myResumedThreads;
    if (resumedThreads != null) {
      for (ThreadReferenceProxyImpl thread : resumedThreads) {
        thread.suspend();
      }
    }
    context.resume(true);
    myDebugProcess.clearCashes(context.getSuspendPolicy());
  }
private void resumeNew(@NotNull SuspendContextImpl context)