private EnumMap RegisterEnum(Type type) { QName qname = GetEnumQName(type); if (qname == null) { return(null); } if (FindUserMap(qname) != null) { throw new InvalidOperationException(String.Format("There is already a registered type for XML name {0}", qname)); } EnumMap ret = new EnumMap(type, qname, this); contracts.Add(ret); return(ret); }