protected virtual void DeserializeDescriptionPropertyElement(XmlReader reader) { if (reader == null) { throw new ArgumentNullException("reader"); } switch (reader.Name) { case "specVersion": SpecVersion = Helper.DeserializeSpecVersion(reader.ReadSubtree()); break; case "URLBase": UrlBase = new Uri(reader.ReadString()); break; case "device": using (var device_reader = reader.ReadSubtree()) { device_reader.Read(); root_device = DeserializeDevice(device_reader); disposer.SetRootDevice(root_device); } break; default: // This is a workaround for Mono bug 334752 reader.Skip(); break; } }