question: synchronized void recycleConnection ( PooledConnection pc ) { if ( activeConnections <= 0 ) { throw new AssertionError ( ) ; } activeConnections -- ; if ( ! isDisposed && activeConnections < maxConnections ) { recycledConnections . add ( pc ) ; } else { closeConnection ( pc ) ; } if ( activeConnections >= maxConnections - 1 ) { notifyAll ( ) ; } }
target:  This method usually puts the connection back into the pool. There are some exceptions: if the pool is disposed, the connection is disposed as well. If the pool is full, the connection is closed.