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)
         );
 }