void IList.Remove(object value)
 {
     if (SynchronizedObservableCollection <T> .IsCompatibleObject(value))
     {
         this.Remove((T)value);
     }
 }
        int IList.IndexOf(object value)
        {
            int index;

            if (!SynchronizedObservableCollection <T> .IsCompatibleObject(value))
            {
                return(-1);
            }
            this._itemsLock.EnterReadLock();
            try
            {
                index = this._items.IndexOf((T)value);
            }
            finally
            {
                this._itemsLock.ExitReadLock();
            }
            return(index);
        }
        bool IList.Contains(object value)
        {
            bool flag;

            if (!SynchronizedObservableCollection <T> .IsCompatibleObject(value))
            {
                return(false);
            }
            this._itemsLock.EnterReadLock();
            try
            {
                flag = this._items.Contains((T)value);
            }
            finally
            {
                this._itemsLock.ExitReadLock();
            }
            return(flag);
        }