public override _SubDevice Extend(dynamic wprObj) { List <WprManagementObject> obj = wprObj as List <WprManagementObject>; WprManagementObject current = obj.Where(d => d.GetProperty("DeviceID").AsSubString(3, 1).Equals(Name.AsSubString(0, 1))).FirstOrDefault(); MaxSpeed = current == null ? null : current.GetProperty("MaxClockSpeed"); if (MaxSpeed == null || PercentProcessorPerformance == null) // use base frequency for tboost { Frequency = ProcessorFrequency; } else { Frequency = new MobProperty((MaxSpeed.AsInt() / 100) * PercentProcessorPerformance.AsInt()); } return(this); }