void shutdown(@NotNull SchedulingWrapper.MyScheduledFutureTask<Void> poisonPill) {
    Throwable throwable = shutdownTrace.getAndSet(new Throwable());
    if (throwable != null) {
      throw new IllegalStateException("Already shutdown", throwable);
    }
    myPoisonPill = poisonPill;
    super.offer(poisonPill);
  }
void shutdown(@NotNull SchedulingWrapper.MyScheduledFutureTask<Void> poisonPill)