The javadoc should mention that for efficiency, any previous requests are accounted separately from future requests, and may in fact lead to oldMaxConcurrent + newMaxConcurrent requests being allowed temporarily.