item.deallocate();
if (item.isValid()) item.deallocate();
    public void shutdown() {        try {            // close all working connections.            Iterator iter = workingConnections.iterator();            while (iter.hasNext()) {                PooledObject item = (PooledObject)iter.next();                    item.deallocate();            }                // close all free connections            while (size() > 0)                try {                    PooledObject item = (PooledObject)take();                    if (item.isValid())                        item.deallocate();                                    } catch (SQLException ex) {                    if (getLogger() != null)                    getLogger().warn("Could not close connection.", ex);                }                totalConnections = 0;        } finally {            idleRemover.stop();            idleRemover = null;        }    }