public bool Remove(JToken key, Guid txId)
{
Guid existing;
if (keysModifiedInTx.TryGetValue(key, out existing) && existing != txId)
return false;
operationsInTransactions.GetOrAdd(txId, new List<Command>())
.Add(new Command
{
Key = key,
DictionaryId = DictionaryId,
Type = CommandType.Delete
});
if (existing != txId) // otherwise we are already there
keysModifiedInTx.TryAdd(key, txId);
return true;
}