private static void RaiseItemReplaced(TList list, TElement oldNode, TElement currentNode, long index)
 {
     WithAll(
         () => RaiseItemAdded(list, currentNode, index),
         () => RaiseItemRemoved(list, oldNode, index),
         () => list.OnItemReplaced(oldNode, currentNode, index)
         );
 }