//read value
//skip locking proposed by Sanne
Object valueFromDb = identifierCache.withFlags( Flag.SKIP_LOCKING ).get( key );
if ( valueFromDb == null ) {
//if not there, insert initial value
value.initialize( initialValue );
valueFromDb = nullSafeSet( identifierValueGridType, value.makeValue().longValue(), valueColumnName, session, tuple );
final Object oldValue = identifierCache.putIfAbsent( key, valueFromDb );
//check in case somebody has inserted it behind our back
if ( oldValue != null ) {
value.initialize( ( (Number) oldValue ).longValue() );