public void Insert(int index, Device device)
    {
      if (device == null)
      {
        throw new ArgumentNullException("device");
      }

      List.Insert(index, device);
    }
    public int IndexOf(Device device)
    {
      if (device == null)
      {
        throw new ArgumentNullException("device");
      }

      return List.IndexOf(device);
    }
    public void CopyTo(Device[] array, int arrayIndex)
    {
      if (array == null)
      {
        throw new ArgumentNullException("array");
      }

      List.CopyTo(array, arrayIndex);
    }
    public bool Contains(Device device)
    {
      if (device == null)
      {
        throw new ArgumentNullException("device");
      }

      return List.Contains(device);
    }
    public void Add(Device device)
    {
      if (device == null)
      {
        throw new ArgumentNullException("device");
      }

      List.Add(device);
    }
    public bool Remove(Device device)
    {
      if (device == null)
      {
        throw new ArgumentNullException("device");
      }

      if (List.Contains(device) == false)
      {
        return false;
      }

      List.Remove(device);

      return true;
    }