public synchronized Savepoint setSavepoint() throws SQLException { FBSavepoint savepoint = new FBSavepoint(getNextSavepointCounter());  setSavepoint(savepoint);  savepoints.addLast(savepoint);  return savepoint;
private void setSavepoint(FBSavepoint savepoint) throws SQLException { if (getAutoCommit()) throw new SQLException("Connection.setSavepoint() method cannot " + "be used in auto-commit mode.");  try { txCoordinator.ensureTransaction();  getGDSHelper().executeImmediate("SAVEPOINT " + savepoint.getServerSavepointId()); } catch(GDSException ex) { throw new FBSQLException(ex); }
    public synchronized Savepoint setSavepoint() throws SQLException {        FBSavepoint savepoint = new FBSavepoint(getNextSavepointCounter());                setSavepoint(savepoint);                savepoints.addLast(savepoint);                return savepoint;    }