Object pooling proxy implementation.
The org.apache.commons.pool2.proxy package defines a
object pool that wraps all objects returned to clients. This allows it
to disable those proxies when the objects are returned thereby enabling
the continued use of those objects by clients to be detected..
Support is provided for java.lang.reflect.Proxy and for
net.sf.cglib.proxy based proxies. The latter, requires the
additional of the optional Code Generation Library (GCLib).