Javadoc
In order to help assist with avoiding to schedule too much on the scheduler at any given
time, this call returns a future that will block until the delay for the next task falls
below the maximum delay provided into this call. If you want to ensure that the next task
will execute immediately, you should provide a zero to this function. If more tasks are
added to the limiter after this call, it will NOT impact when this future will unblock. So
this future is assuming that nothing else is added to the limiter after requested.