/// <summary> /// Looks at the incoming fields and figures out what the aliases and name spaces for auth level types are. /// </summary> /// <param name="fields">The incoming message data in which to discover TypeURIs and aliases.</param> /// <returns>The <see cref="AliasManager"/> initialized with the given data.</returns> internal static AliasManager FindIncomingAliases(IDictionary<string, string> fields) { AliasManager aliasManager = new AliasManager(); foreach (var pair in fields) { if (!pair.Key.StartsWith(Constants.AuthLevelNamespaceDeclarationPrefix, StringComparison.Ordinal)) { continue; } string alias = pair.Key.Substring(Constants.AuthLevelNamespaceDeclarationPrefix.Length); aliasManager.SetAlias(alias, pair.Value); } aliasManager.SetPreferredAliasesWhereNotSet(Constants.AssuranceLevels.PreferredTypeUriToAliasMap); return aliasManager; }