void System.Collections.IList.Remove(object value)
 {
     lock (SyncRoot)
     {
         ((System.Collections.IList)_innerList).Remove(value);
     }
     DiscoveryBeacon.RefreshServices();
 }
 public void Clear()
 {
     lock (SyncRoot)
     {
         _innerList.Clear();
         DiscoveryBeacon.RefreshServices();
     }
 }
 public void RemoveAt(int index)
 {
     lock (SyncRoot)
     {
         _innerList.RemoveAt(index);
         DiscoveryBeacon.RefreshServices();
     }
 }
 void System.Collections.IList.Insert(int index, object value)
 {
     ThrowIfWrongType(value);
     lock (SyncRoot)
     {
         ((System.Collections.IList)_innerList).Insert(index, value);
     }
     DiscoveryBeacon.RefreshServices();
 }
 public bool Remove(TivoConnectService item)
 {
     lock (SyncRoot)
     {
         bool remove = _innerList.Remove(item);
         DiscoveryBeacon.RefreshServices();
         return(remove);
     }
 }
        int System.Collections.IList.Add(object value)
        {
            int add;

            ThrowIfWrongType(value);
            lock (SyncRoot)
            {
                add = ((System.Collections.IList)_innerList).Add(value);
            }
            DiscoveryBeacon.RefreshServices();
            return(add);
        }
 public void Add(TivoConnectService item)
 {
     lock (SyncRoot)
     {
         if (item.Name == null)
         {
             // name must not be null
             throw new ArgumentException();
         }
         _innerList.Add(item);
         DiscoveryBeacon.RefreshServices();
     }
 }
 object System.Collections.IList.this[int index]
 {
     get
     {
         lock (SyncRoot)
         {
             return(((System.Collections.IList)_innerList)[index]);
         }
     }
     set
     {
         ThrowIfWrongType(value);
         lock (SyncRoot)
         {
             ((System.Collections.IList)_innerList)[index] = value;
         }
         DiscoveryBeacon.RefreshServices();
     }
 }
 public TivoConnectService this[int index]
 {
     get
     {
         lock (SyncRoot)
         {
             return(_innerList[index]);
         }
     }
     set
     {
         lock (SyncRoot)
         {
             if (value.Name == null)
             {
                 // name must not be null
                 throw new ArgumentException();
             }
             _innerList[index] = value;
             DiscoveryBeacon.RefreshServices();
         }
     }
 }