private static void RaiseReplacingItem(TList list, TElement currentNode, TElement newNode, long index) { WithAll( () => list.OnReplacingItem(currentNode, newNode, index), () => RaiseRemovingItem(list, currentNode, index), () => RaiseAddingItem(list, newNode, index) ); }