if (idleTime < getConfiguration().getIdleTimeout())
if (idleTime < getConfiguration().getMaxIdleTime())
    private boolean releaseNextIdleConnection() throws SQLException {                          synchronized(takeMutex) {              PooledObject candidate = (PooledObject)queue.peek();                        if (candidate == null)                return false;                        Long lastUsageTime = (Long)connectionIdleTime.get(candidate);            if (lastUsageTime == null)                return false;                        long idleTime = System.currentTimeMillis() - lastUsageTime.longValue();                        if (idleTime < getConfiguration().getIdleTimeout())                 return false;                        try {                    take().deallocate();            } finally {                workingConnections.remove(candidate);                connectionIdleTime.remove(candidate);                totalConnections--;            }                        return true;        }    }