docs: void reschedule(long delay, TimeUnit timeUnit) {
      long delayNanos = timeUnit.toNanos(delay);
      long newRunAtNanos = nanoTime() + delayNanos;
      enabled = true;
      if (newRunAtNanos - runAtNanos < 0 || wakeUp == null) {
        if (wakeUp != null) {
          wakeUp.cancel(false);
        }
        wakeUp = scheduler.schedule(new FutureRunnable(), delayNanos, TimeUnit.NANOSECONDS);
      }
      runAtNanos = newRunAtNanos;
    }