in src/main/java/com/spotify/futures/ConcurrencyLimiter.java [97:107]
public ListenableFuture<T> add(Callable<? extends ListenableFuture<T>> callable) {
Preconditions.checkNotNull(callable);
final SettableFuture<T> response = SettableFuture.create();
final Job<T> job = new Job<>(callable, response);
if (!queue.offer(job)) {
final String message = "Queue size has reached capacity: " + maxQueueSize;
return Futures.immediateFailedFuture(new CapacityReachedException(message));
}
executor.execute(this::pump);
return response;
}