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