private function normalizeUsedOn( &$ts, &$taxonomy )
	{
		foreach ( $ts as $usedOn => $arcroles )
		{
			if ( isset( \XBRL_Constants::$standardArcRoles[ $usedOn ] ) ||
				 \XBRL_Constants::isStandardExtLinkQname( qname( $usedOn, array( 'link' => \XBRL_Constants::$standardPrefixes[ STANDARD_PREFIX_LINK] ) ) )
			)
			{
				// Nothing to do
				continue;
			}
			else
			{
				// Standardize on the prefix used by the original schema not the name used by the dependent schema.
				// For example, the generics schema used the prefix 'gen' but a dependent schema might use the
				// prefix 'generic' or 'gene' or something else entirely.
				/**
				 * @var QName $usedOnQName
				 */
				$usedOnQName = qname( $usedOn, $taxonomy->getDocumentNamespaces() );

				// Is there a taxonomy for this namespace?
				$usedOnTaxonomy = $taxonomy->getTaxonomyForNamespace( $usedOnQName->namespaceURI );
				if ( $usedOnTaxonomy )
				{
					// There is so normalize the prefix
					$usedOn2 = "{$usedOnTaxonomy->getPrefix()}:{$usedOnQName->localName}";
					// If the prefix was already correct there is nothing to do
					if ( $usedOn == $usedOn2 )
					{
						continue;
					}
					$ts[ $usedOn2 ] = $arcroles;
					unset( $ts[ $usedOn ] );
				}
			}
		}
	}