@Override
  public @NotNull Future<?> executeOnPooledThread(@NotNull Runnable action) {
    return getThreadingSupport().executeOnPooledThread(action, this::isDisposed);
  }
@Override
  public @NotNull Future<?> executeOnPooledThread(@NotNull Runnable action)