public void sendRequests(Callback<None> callback)
  {
    LOG.info("Event Bus Requests throttler started for {} keys at a {} load rate",
      _keysToFetch.size(), _maxConcurrentRequests);
    if (_keysToFetch.size() == 0)
    {
      callback.onSuccess(None.none());
      return;
    }
    _callback = callback;
    makeRequests(_maxConcurrentRequests);
  }
@Test(timeOut = 10000)
  public void testAllowZeroRequests() throws InterruptedException, ExecutionException, TimeoutException
  {
    TestSubscriber testSubscriber = new TestSubscriber();
    TestEventBus testEventBus = new TestEventBus(testSubscriber);
    PropertyEventBusRequestsThrottler<String> propertyEventBusRequestsThrottler =
      new PropertyEventBusRequestsThrottler<>(testEventBus, testSubscriber, new ArrayList<>(), 5, false);

    FutureCallback<None> callback = new FutureCallback<>();
    propertyEventBusRequestsThrottler.sendRequests(callback);
    callback.get(1000, TimeUnit.MILLISECONDS);
  }