in src/main/java/org/apache/commons/pool3/PoolUtils.java [1577:1590]
public static <K, V, E extends Exception> KeyedObjectPool<K, V, E> erodingPool(
final KeyedObjectPool<K, V, E> keyedPool, final float factor,
final boolean perKey) {
if (keyedPool == null) {
throw new IllegalArgumentException(MSG_NULL_KEYED_POOL);
}
if (factor <= 0f) {
throw new IllegalArgumentException(MSG_FACTOR_NEGATIVE);
}
if (perKey) {
return new ErodingPerKeyKeyedObjectPool<>(keyedPool, factor);
}
return new ErodingKeyedObjectPool<>(keyedPool, factor);
}