if (maxRows != 0) maxRows = this.maxRows - rowNum;
if (this.maxRows != 0) maxRows = this.maxRows - rowNum;
    public void fetch() throws SQLException {        Object syncObject = syncProvider.getSynchronizationObject();        synchronized (syncObject) {            checkClosed();            int maxRows = 0;            if (maxRows != 0) maxRows = this.maxRows - rowNum;            int fetchSize = this.fetchSize;            if (fetchSize == 0) fetchSize = MAX_FETCH_ROWS;            if (maxRows != 0 && fetchSize > maxRows) fetchSize = maxRows;            if (!stmt.isAllRowsFetched()                    && (rowsArray == null || size == rowPosition)) {                try {                    gdsHelper.fetch(stmt, fetchSize);                    rowPosition = 0;                    rowsArray = stmt.getRows();                    size = stmt.size();                } catch (GDSException ge) {                    throw new FBSQLException(ge);                }            }            if (rowsArray != null && size > rowPosition) {                setNextRow((byte[][]) rowsArray[rowPosition]);                // help the garbage collector                rowsArray[rowPosition] = null;                rowPosition++;            } else                setNextRow(null);        }    }