/// <summary>
 /// Creates a <see cref="IdentifierDiscoveryResult"/> instance to represent some Claimed Identifier.
 /// </summary>
 /// <param name="claimedIdentifier">The claimed identifier.</param>
 /// <param name="userSuppliedIdentifier">The user supplied identifier.</param>
 /// <param name="providerLocalIdentifier">The provider local identifier.</param>
 /// <param name="providerEndpoint">The provider endpoint.</param>
 /// <param name="servicePriority">The service priority.</param>
 /// <param name="uriPriority">The URI priority.</param>
 /// <returns>The created <see cref="IdentifierDiscoveryResult"/> instance</returns>
 internal static IdentifierDiscoveryResult CreateForClaimedIdentifier(Identifier claimedIdentifier, Identifier userSuppliedIdentifier, Identifier providerLocalIdentifier, ProviderEndpointDescription providerEndpoint, int? servicePriority, int? uriPriority)
 {
     return new IdentifierDiscoveryResult(providerEndpoint, claimedIdentifier, userSuppliedIdentifier, providerLocalIdentifier, servicePriority, uriPriority);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="IdentifierDiscoveryResult"/> class.
 /// </summary>
 /// <param name="providerEndpoint">The provider endpoint.</param>
 /// <param name="claimedIdentifier">The Claimed Identifier.</param>
 /// <param name="userSuppliedIdentifier">The User-supplied Identifier.</param>
 /// <param name="providerLocalIdentifier">The Provider Local Identifier.</param>
 /// <param name="servicePriority">The service priority.</param>
 /// <param name="uriPriority">The URI priority.</param>
 private IdentifierDiscoveryResult(ProviderEndpointDescription providerEndpoint, Identifier claimedIdentifier, Identifier userSuppliedIdentifier, Identifier providerLocalIdentifier, int? servicePriority, int? uriPriority)
 {
     this.ProviderEndpoint = providerEndpoint.Uri;
     this.Capabilities = new ReadOnlyCollection<string>(providerEndpoint.Capabilities);
     this.Version = providerEndpoint.Version;
     this.ClaimedIdentifier = claimedIdentifier;
     this.ProviderLocalIdentifier = providerLocalIdentifier ?? claimedIdentifier;
     this.UserSuppliedIdentifier = userSuppliedIdentifier;
     this.ServicePriority = servicePriority;
     this.ProviderEndpointPriority = uriPriority;
 }