public SensorViewModel(Sensor sensor) : base(sensor) { _sensorTypes = new ObservableCollection <SensorType>(); _sensorCategories = new HashSet <string>(); foreach (string type in sensor.Types) { SensorType sensorType = SensorType.GetSensorType(type); if (sensorType == null) { // Which means this sensor type is not in the code base sensorType = SensorType.AddSensorType(type); } _sensorTypes.Add(sensorType); if (!_sensorCategories.Contains(sensorType.Category)) { _sensorCategories.Add(sensorType.Category); } } }