Good point. I have made that refinement and committed it. However this way if a caller does params::setMaxThreads(1) there is an assertion failure.. Anyway, whichever commit is better can be merged.

My rationale for the original way of adding capacity is that the goal is to get *at least* as many threads available as maxThreads, not necessarily the exact amount.