void release(PooledSqlConnection connection) throws DataStoreException{
        for ( int i = 0; i < POOL_SIZE; i++){
            if ( pooledConnections[i] == connection ){
                try{
                    if ( ! connection.getAutoCommit() ){
                        connection.rollback(); //It is the responsibility of the client to make sure all work is committed
                    }
                    connection.setAutoCommit(true);
                } catch (SQLException e){
                    LOGGER.error("Exception while cleaning up connection: " + e.getMessage());
                    try{
                        connection.destroyConnection();
                        inUse[i] = false;
                        pooledConnections[i] = null;
                    } catch(SQLException ex){
                        LOGGER.error("Unable to close connection: " + ex.getMessage());
                        throw new DataStoreException("Unable to close connection", ex);
                    }
                }
                inUse[i] = false;
                return;
            }
        }
    }