public async Task<long> NextAsync(SequenceKey sequenceKey)
{
if (sequenceKey == null) throw new ArgumentNullException("sequenceKey");
if (sequenceKey.Value == null) throw new ArgumentNullException("sequenceKey");
return await ExecAsync(sequenceKey, 0);
}