| evict() |   | 82% |   | 81% | 7 | 20 | 17 | 87 | 0 | 1 |
| deregister(Object) |   | 78% |   | 78% | 3 | 8 | 2 | 18 | 0 | 1 |
| returnObject(Object, Object) |   | 88% |   | 86% | 3 | 12 | 5 | 43 | 0 | 1 |
| calculateDeficit(GenericKeyedObjectPool.ObjectDeque) |   | 72% |   | 66% | 2 | 4 | 2 | 13 | 0 | 1 |
| lambda$getNumActivePerKey$5(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listAllObjects$12(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getNumActivePerKey() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listAllObjects() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getNumTests() |   | 57% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| reuseCapacity() |   | 94% |  | 100% | 0 | 5 | 2 | 20 | 0 | 1 |
| clearOldest() |   | 92% |  | 100% | 0 | 4 | 2 | 17 | 0 | 1 |
| lambda$removeAbandoned$14(AbandonedConfig, Object, PooledObject) |   | 78% |  | 100% | 0 | 2 | 2 | 7 | 0 | 1 |
| whenWaitersAddObject(Object, LinkedBlockingDeque) |   | 66% |  | 100% | 0 | 2 | 2 | 6 | 0 | 1 |
| lambda$listAllObjects$11(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getNumActivePerKey$4(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| borrowObject(Object, long) |   | 98% |   | 92% | 3 | 20 | 2 | 61 | 0 | 1 |
| close() |   | 91% |   | 75% | 1 | 3 | 1 | 13 | 0 | 1 |
| getFactory() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getNumWaiters() |  | 84% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| lambda$getNumActivePerKey$6(Integer, Integer) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getNumWaitersByKey$9(Map, Object, GenericKeyedObjectPool.ObjectDeque) |  | 93% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| preparePool(Object) |  | 90% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| create(Object) |  | 100% |  | 100% | 0 | 15 | 0 | 55 | 0 | 1 |
| toStringAppendFields(StringBuilder) |  | 100% | | n/a | 0 | 1 | 0 | 26 | 0 | 1 |
| destroy(Object, PooledObject, boolean, DestroyMode) |  | 100% |  | 100% | 0 | 5 | 0 | 16 | 0 | 1 |
| register(Object) |  | 100% |  | 100% | 0 | 3 | 0 | 17 | 0 | 1 |
| GenericKeyedObjectPool(KeyedPooledObjectFactory, GenericKeyedObjectPoolConfig) |  | 100% |  | 100% | 0 | 2 | 0 | 15 | 0 | 1 |
| invalidateObject(Object, Object, DestroyMode) |  | 100% |  | 100% | 0 | 4 | 0 | 10 | 0 | 1 |
| clear(Object, boolean) |  | 100% |   | 87% | 1 | 5 | 0 | 17 | 0 | 1 |
| getStatsString() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| ensureMinIdle(Object) |  | 100% |   | 83% | 1 | 4 | 0 | 7 | 0 | 1 |
| addIdleObject(Object, PooledObject) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| ensureMinIdle() |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| use(Object) |  | 100% |   | 50% | 2 | 3 | 0 | 8 | 0 | 1 |
| setConfig(GenericKeyedObjectPoolConfig) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| lambda$register$13(AtomicBoolean, Object, Object) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| getNumActive(Object) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| reuseCapacity(int) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| addObject(Object) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| getNumIdle(Object) |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| hasBorrowWaiters() |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| lambda$removeAbandoned$15(AbandonedConfig, Object, GenericKeyedObjectPool.ObjectDeque) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getNumWaitersByKey() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$use$16(Object, GenericKeyedObjectPool.ObjectDeque) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| GenericKeyedObjectPool(KeyedPooledObjectFactory, GenericKeyedObjectPoolConfig, AbandonedConfig) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getMinIdlePerKey() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getNumIdle() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| GenericKeyedObjectPool(KeyedPooledObjectFactory) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| borrowObject(Object) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| clear() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getNumActive() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| removeAbandoned(AbandonedConfig) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$clearOldest$2(TreeMap, Object, GenericKeyedObjectPool.ObjectDeque) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| invalidateObject(Object, Object) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$clearOldest$1(TreeMap, Object, PooledObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| clear(Object) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getKeys() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$clear$0(Object) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setMaxIdlePerKey(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMaxTotalPerKey(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMinIdlePerKey(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$hasBorrowWaiters$10(GenericKeyedObjectPool.ObjectDeque) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getNumWaiters$8(GenericKeyedObjectPool.ObjectDeque) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getNumIdle$7(GenericKeyedObjectPool.ObjectDeque) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$close$3(GenericKeyedObjectPool.ObjectDeque) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxIdlePerKey() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxTotalPerKey() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |