private SerializationMap RegisterIXmlSerializable(Type type) { if (type.GetInterface("System.Xml.Serialization.IXmlSerializable") == null) { return(null); } QName qname = GetSerializableQName(type); if (FindUserMap(qname) != null) { throw new InvalidOperationException(String.Format("There is already a registered type for XML name {0}", qname)); } XmlSerializableMap ret = new XmlSerializableMap(type, qname, this); contracts.Add(ret); return(ret); }