rsType = ResultSet.TYPE_FORWARD_ONLY; rsConcurrency = ResultSet.CONCUR_READ_ONLY;  c.addWarning(new FBSQLWarning("resultSetType or resultSetConcurrency changed"));
if (rsConcurrency == ResultSet.CONCUR_UPDATABLE) { c.addWarning(new FBSQLWarning( "Result set concurrency changed. " + "Only ResultSet.CONCUR_READ_ONLY concurrency is supported."));  rsConcurrency = ResultSet.CONCUR_READ_ONLY; }  if (rsType == ResultSet.TYPE_SCROLL_SENSITIVE) { c.addWarning(new FBSQLWarning( "Result set type changed. " + "ResultSet.TYPE_SCROLL_SENSITIVE is not supported."));  rsType = ResultSet.TYPE_SCROLL_INSENSITIVE; }
    protected FBResultSet(AbstractConnection c,                           AbstractStatement fbstatement,                           isc_stmt_handle stmt,                           FBObjectListener.ResultSetListener listener,                          int rsType,                           int rsConcurrency)     throws SQLException {        this.c = c;        this.cursorName = fbstatement.getCursorName();        this.listener = listener;        this.rsType = rsType;        this.rsConcurrency = rsConcurrency;                xsqlvars = stmt.getOutSqlda().sqlvar;        maxRows = fbstatement.getMaxRows();        prepareVars(false);                boolean updatableCursor = fbstatement.isUpdatableCursor();                if (!updatableCursor && rsType == ResultSet.TYPE_SCROLL_INSENSITIVE)            fbFetcher = new FBCachedFetcher(this.c, fbstatement, stmt, this);        else {            rsType = ResultSet.TYPE_FORWARD_ONLY;            rsConcurrency = ResultSet.CONCUR_READ_ONLY;                        c.addWarning(new FBSQLWarning("resultSetType or resultSetConcurrency changed"));                        if (updatableCursor)                  fbFetcher = new FBUpdatableFetcher(this.c, fbstatement, stmt, this);            else                fbFetcher = new FBStatementFetcher(this.c, fbstatement, stmt, this);        }    }