protected boolean internalFirst() throws SQLException {
      boolean ret = false;

      if (numRows > 0) {
         cursorPos = 1;
         if ((getShowDeleted() == false) && (rowDeleted() == true)) {
            ret = internalNext();
         } else {
            ret = true;
         }
      }

      if (ret == true)
         absolutePos = 1;
      else
         absolutePos = 0;

      return ret;
   }
Moves this <code>StreamingRowSetImpl</code> object's cursor to the first
row and returns <code>true</code> if the operation is successful.
<P>
This method is called internally by the methods <code>first</code>,
<code>isFirst</code>, and <code>absolute</code>.
It in turn calls the method <code>internalNext</code> in order to
handle the case where the first row is a deleted row that is not visible.
<p>
This is a implementation only method and is not required as a standard
implementation of the <code>CachedRowSet</code> interface.

@return <code>true</code> if the cursor moved to the first row;
        <code>false</code> otherwise
@throws SQLException if an error occurs
src/main/java/org/replicadb/rowset/StreamingRowSetImpl.java