internal void Execute() { ThrowIfFinished(); foreach (var itemToRemove in negativeDelta) { owner.Remove(itemToRemove.Key); } foreach (var itemToAdd in positiveDelta) { owner.Add(itemToAdd.Key, itemToAdd.Value); } finished = true; }