@Override
  public void resumeThread(@NotNull SuspendContextImpl context, @NotNull ThreadReferenceProxyImpl thread) {
    if (context.isExplicitlyResumed(thread)) {
      logError("Thread " + thread + " was in explicitly resumed threads for " + context);
    }

    if (context.getSuspendPolicy() == EventRequest.SUSPEND_EVENT_THREAD && context.getEventThread() != thread) {
      logError("Suspend-thread context " + context + " should not resume another thread " + thread);
    }
    if (LOG.isDebugEnabled()) {
      LOG.debug("Thread " + thread + " is going to be resumed in " + context);
    }

    if (context.myResumedThreads == null) {
      context.myResumedThreads = ConcurrentCollectionFactory.createConcurrentSet();
    }
    context.myResumedThreads.add(thread);
    context.myNotExecutableThreads.remove(thread);
    performIfNoNewInvocationWatcherTrackThisContext(context, () -> thread.resume());
  }
@Override
  public void resumeThread(@NotNull SuspendContextImpl context, @NotNull ThreadReferenceProxyImpl thread)