@Override
  public void execute(Runnable command) {
    if (command == null) {
      throw new NullPointerException();
    }
    ScheduledFutureTask<Void> task = new ScheduledFutureTask<>(command, null, triggerTime(0));
    threadPoolExecutor.execute(task);
  }
@Test
  public void testExecute() throws Exception {
    FastNanoClockAndSleeper fastNanoClockAndSleeper = new FastNanoClockAndSleeper();
    UnboundedScheduledExecutorService executorService =
        new UnboundedScheduledExecutorService(fastNanoClockAndSleeper);

    AtomicInteger callCount = new AtomicInteger();
    CountDownLatch countDownLatch = new CountDownLatch(1);

    executorService.execute(
        () -> {
          callCount.incrementAndGet();
          countDownLatch.countDown();
        });

    countDownLatch.await();
    assertEquals(1, callCount.get());
  }