docs: @Override
      public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) {
          synchronized (this.futures) {
              if (this.shutdown) throw new RejectedExecutionException();
              ScheduledFuture<?> future = this.executor.scheduleWithFixedDelay(command, initialDelay, delay, unit);
              this.futures.add(future);
              return future;
          }
      }