boolean commit = false;
    public int[] executeBatch() throws SQLException {    	        Object syncObject = getSynchronizationObject();        synchronized (syncObject) {            try {                notifyStatementStarted();                ArrayList results = new ArrayList(batchList.size());                Iterator iterator = batchList.iterator();                boolean commit = false;                try {                    while (iterator.hasNext()) {                    	                    	procedureCall = (FBProcedureCall)iterator.next();                        try {                            prepareFixedStatement(procedureCall                                    .getSQL(selectableProcedure), true);                        	if (internalExecute(!selectableProcedure))                                throw new BatchUpdateException(toArray(results));                            results.add(new Integer(getUpdateCount()));                        } catch (GDSException ex) {                            throw new BatchUpdateException(ex.getMessage(), "", ex.getFbErrorCode(),                                    toArray(results));                        }                    }                    commit = true;                    return toArray(results);                } finally {                    clearBatch();                }            } finally {                notifyStatementCompleted();            }        }    	    }