void _devices_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            // Ensure that at least one Firmata device is selected
            bool found = false;

            foreach (var item in _devices)
            {
                if (item is FirmataTargetDeviceViewModel)
                {
                    var candidate = (FirmataTargetDeviceViewModel)item;
                    if (candidate.IsConnected)
                    {
                        found = true;
                        break;
                    }
                }
            }

            if (!found)
            {
                foreach (var item in _devices)
                {
                    if (item is FirmataTargetDeviceViewModel)
                    {
                        var candidate = (FirmataTargetDeviceViewModel)item;
                        candidate.IsConnected = true;
                        _dm.SetFirmataTarget(candidate.Source);
                        found = true;
                    }
                }
            }

            // There are no firmata targets - may sure we are not referencing one that was deleted
            if (!found)
            {
                _dm.SetFirmataTarget(null);
            }
        }