}
@Override
public Number nextValue(NextValueRequest request) {
final Cache<SerializableIdSourceKey> cache = datastoreProvider.getIdentifierCache();
SerializableIdSourceKey key = new SerializableIdSourceKey( request.getKey() );
Element previousValue = cache.get( key );
if ( previousValue == null ) {
previousValue = cache.putIfAbsent( new Element( key, request.getInitialValue() ) );
}