public void execute(Connection conn) throws SQLException {
      // store the connection so the reader can find it.
      setConnection(conn);

      if(getPageSize() != 0){
         crsReader = (CachedRowSetReader)provider.getRowSetReader();
         crsReader.setStartPosition(1);
         callWithCon = true;
         crsReader.readData((RowSetInternal)this);
      }

      // Now call the current reader's readData method
      else {
         rowSetReader.readData((RowSetInternal)this);
      }
      RowSetMD = (RowSetMetaDataImpl)this.getMetaData();

      if(conn != null){
         // JDBC 4.0 mandates as does the Java EE spec that all DataBaseMetaData methods
         // must be implemented, therefore, the previous fix for 5055528 is being backed out
         dbmslocatorsUpdateCopy = conn.getMetaData().locatorsUpdateCopy();
      }

   }
Populates this <code>StreamingRowSetImpl</code> object with data,
using the given connection to produce the result set from
which data will be read.  A second form of this method,
which takes no arguments, uses the values from this rowset's
user, password, and either url or data source properties to
create a new database connection. The form of <code>execute</code>
that is given a connection ignores these properties.

@param conn A standard JDBC <code>Connection</code> object that this
<code>CachedRowSet</code> object can pass to a synchronization provider
to establish a connection to the data source
@throws SQLException if an invalid <code>Connection</code> is supplied
          or an error occurs in establishing the connection to the
          data source
@see #populate
@see java.sql.Connection
src/main/java/org/replicadb/rowset/StreamingRowSetImpl.java