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();
  }
}

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 ( ) ; } }
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 .
