public void TryToAdd(CommandRegistryItem item, CancellationToken cancellationToken = default) { if (_inner.Where(x => !string.IsNullOrEmpty(item.Key) && x.Value.Key == item.Key && x.Value.State < CommandRegistryItemState.Cancelled).Any()) { throw new ConcurrencyException(); } item.CancellationToken = cancellationToken; item.SetConflictingIds(GetIdsOfConflictingIncompleteRequests(item)); item.Index = _inner.Count() + 1; _inner.TryAdd(item.CorrelationId, item); }