notifyStatementStarted();  try { Object syncObject = getSynchronizationObject(); synchronized(syncObject) {
    public int executeUpdate() throws SQLException {        notifyStatementStarted();                try {            Object syncObject = getSynchronizationObject();            synchronized(syncObject) {                try {                    currentRs = null;                                        prepareFixedStatement(procedureCall.getSQL(selectableProcedure), true);                                        /*                    // R.Rokytskyy: JDBC CTS suite uses executeUpdate()                    // together with output parameters, therefore we cannot                    // throw exception if we want to pass the test suite                                        if (internalExecute(true))                         throw new FBSQLException(                        "Update statement returned results.");                    */                                        boolean hasResults = internalExecute(!selectableProcedure);                                        if (hasResults) {                        setRequiredTypes();                    }                                        return getUpdateCount();                                    } catch(GDSException ex) {                    throw new FBSQLException(ex);                }            }        } finally {            notifyStatementCompleted();        }    }