code: @Override
      public Object execute(Config config) throws PageException {
  	((ConfigImpl) config).getDatasourceConnectionPool().releaseDatasourceConnection(this);
  	return null;
      }
docs: /*
  
  public PreparedStatement getPreparedStatement(SQL sql, int resultSetType,int
  resultSetConcurrency) throws SQLException { boolean allowCaching=false; // create key String
  strSQL=sql.getSQLString(); String key=strSQL.trim()+":"+resultSetType+":"+resultSetConcurrency;
  try { key = MD5.getDigestAsString(key); } catch (IOException e) {} PreparedStatement ps =
  allowCaching?preparedStatements.get(key):null; if(ps!=null) {
  if(DataSourceUtil.isClosed(ps,true)) preparedStatements.remove(key); else return ps; }
  
  ps=getConnection().prepareStatement(strSQL,resultSetType,resultSetConcurrency);
  if(preparedStatements.size()>MAX_PS)
  closePreparedStatements((preparedStatements.size()-MAX_PS)+1);
  if(allowCaching)preparedStatements.put(key,ps); return ps; }