public ObservableCollectionPlus(IEnumerable <T> collection)
        {
            m_roCollection = new ReadOnlyObservableCollection <T>(this);
            m_lock         = new WrappedLock(BeforeMultiUpdate, unlock);

            // yes, crazy events are fired here. Who cares. No one can be listening. :-)
            collection.ForEach(item => base.Add(item));
        }
 public ObservableCollectionPlus(IEnumerable <T> collection)
     : base(collection)
 {
     m_roCollection = new ReadOnlyObservableCollection <T>(this);
     m_lock         = new WrappedLock(BeforeMultiUpdate, unlock);
 }