code: public static void scheduleWithFixedDelay(
        final ScheduledExecutorService exec,
        final Duration initialDelay,
        final Duration delay,
        final Runnable runnable
    )
    {
      scheduleWithFixedDelay(
          exec,
          initialDelay,
          delay,
          new Callable<Signal>()
          {
            @Override
            public Signal call()
            {
              runnable.run(); // (Exceptions are handled for us)
              return Signal.REPEAT;
            }
          }
      );
    }
docs: Run runnable repeatedly with the given delay between calls, after the given
  initial delay. Exceptions are caught and logged as errors.