private T checkForExistingDevice(MicroXDevice newDevice) { if (newDevice != null) { var existingDevices = ParentDeviceManager.FindDevices <T>(newDevice.Status.SerialNumber); foreach (T existingDevice in existingDevices) { if (existingDevice.IsOfSameType(newDevice)) { if (existingDevice.Offline) { return(existingDevice); } else { throwOnMultipleSerialNumbers(); } } } } return(null); }