protected XmlNamespace AddNamespace(IAssembly assembly, string xamlNamespace, string clrNamespace)
		{
			XmlNamespace @namespace = XmlNamespace.ToNamespace(xamlNamespace, this.canonicalization);
			XmlnsDefinitionMap.XmlNamespaceTypeMap typeMapCreatingIfNecessary = this.GetTypeMapCreatingIfNecessary(@namespace);
			typeMapCreatingIfNecessary.AssemblyNamespaces.Add(new XmlnsDefinitionMap.AssemblyNamespace(assembly, clrNamespace));
			return @namespace;
		}
		protected void SetNamespacePrefix(string xamlNamespace, string prefix)
		{
			XmlNamespace @namespace = XmlNamespace.ToNamespace(xamlNamespace, this.canonicalization);
			XmlnsDefinitionMap.XmlNamespaceTypeMap typeMapCreatingIfNecessary = this.GetTypeMapCreatingIfNecessary(@namespace);
			if (typeMapCreatingIfNecessary.DefaultPrefix == null)
			{
				typeMapCreatingIfNecessary.DefaultPrefix = prefix;
			}
		}
		private XmlnsDefinitionMap.XmlNamespaceTypeMap GetTypeMapCreatingIfNecessary(XmlNamespace xmlNamespace)
		{
			XmlnsDefinitionMap.XmlNamespaceTypeMap xmlNamespaceTypeMap;
			if (!this.map.TryGetValue(xmlNamespace, out xmlNamespaceTypeMap))
			{
				xmlNamespaceTypeMap = new XmlnsDefinitionMap.XmlNamespaceTypeMap(this.typeResolver, this.targetAssembly);
				this.map.Add(xmlNamespace, xmlNamespaceTypeMap);
			}
			return xmlNamespaceTypeMap;
		}