Base class that provides common functionality for {@link GenericObjectPool} and {@link GenericKeyedObjectPool}. The primary reason this class exists is reduce code duplication between the two pool implementations.
The idle object eviction iterator. Holds a reference to the idle objects.
Wrapper for objects under management by the pool.