public void BeginUpdateEndUpdate()
        {
            var dl = new List <TestItemDM> {
                new TestItemDM(0), new TestItemDM(1), new TestItemDM(2)
            };
            var bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };

            bl.CollectionChanged += OnViewModelCollectionChangedCallInvalid;
            bl.BeginUpdate();
            Assert.Throws <InvalidOperationException>(() => bl.BeginUpdate());
            bl.Add(TestItemBM.New());
            bl.EndUpdate();
            Assert.Throws <InvalidOperationException>(() => bl.EndUpdate());
            bl.CollectionChanged -= OnViewModelCollectionChangedCallInvalid;
        }