public bool Set(string id, Value value) { lock (internalStorage) { if (!internalStorage.ContainsKey(id) || valueComparer.Compare(internalStorage[id], value) < 0) { internalStorage[id] = value; operationLog.Add(new Operation { Id = id, Value = value }); return(true); } } return(false); }