/**
* {@inheritDoc}
*/
public synchronized Serializable generate(final SessionImplementor session, Object obj) {
return optimizer.generate(
new AccessCallback() {
public IntegralDataTypeHolder getNextValue() {
return ( IntegralDataTypeHolder ) doWorkInIsolationTransaction( session );
}
}
);