} finally { hasMoreResults = true;
    protected boolean internalExecute(boolean sendOutParams) throws  SQLException    {        boolean canExecute = true;        for (int i = 0; i < isParamSet.length; i++){            canExecute = canExecute && isParamSet[i];        }        if (!canExecute)            throw new SQLException("Not all parameters were set. " +                "Cannot execute query.");        Object syncObject = getSynchronizationObject();                synchronized(syncObject) {            if (hasBlobs) {                for (int i = 0; i < isParamSet.length; i++) {                    if (isBlob[i]) {                        FBFlushableField flushableField =                            (FBFlushableField)getField(i + 1);                        flushableField.flushCachedData();                    }                }            }                        try {                closeResultSet();                c.executeStatement(fixedStmt, sendOutParams);                isResultSet = (fixedStmt.getOutSqlda().sqld > 0);                return (fixedStmt.getOutSqlda().sqld > 0);            } catch (GDSException ge) {                throw new FBSQLException(ge);            }        }    }