/// <summary>
 /// Initializes a new instance of <see cref="SignedHttpRequestValidationContext"/>.
 /// </summary>
 /// <param name="signedHttpRequest">SignedHttpRequest to be validated encoded as a JWS in Compact Serialization Format.</param>
 /// <param name="httpRequestData">A structure that represents an incoming http request.</param>
 /// <param name="accessTokenValidationParameters">A <see cref="TokenValidationParameters"/> required for access token ("at") validation.</param>
 /// <param name="signedHttpRequestValidationParameters">A set of parameters required for validating a SignedHttpRequest.</param>
 /// <param name="callContext">An opaque context used to store work when working with authentication artifacts.</param>
 public SignedHttpRequestValidationContext(string signedHttpRequest, HttpRequestData httpRequestData, TokenValidationParameters accessTokenValidationParameters, SignedHttpRequestValidationParameters signedHttpRequestValidationParameters, CallContext callContext)
 {
     SignedHttpRequest = !string.IsNullOrEmpty(signedHttpRequest) ? signedHttpRequest : throw LogHelper.LogArgumentNullException(nameof(signedHttpRequest));
     HttpRequestData   = httpRequestData ?? throw LogHelper.LogArgumentNullException(nameof(httpRequestData));
     AccessTokenValidationParameters       = accessTokenValidationParameters ?? throw LogHelper.LogArgumentNullException(nameof(accessTokenValidationParameters));
     SignedHttpRequestValidationParameters = signedHttpRequestValidationParameters ?? throw LogHelper.LogArgumentNullException(nameof(signedHttpRequestValidationParameters));
     CallContext = callContext ?? throw LogHelper.LogArgumentNullException(nameof(callContext));
 }
 /// <summary>
 /// Initializes a new instance of <see cref="SignedHttpRequestValidationContext"/>.
 /// </summary>
 /// <param name="signedHttpRequest">SignedHttpRequest to be validated encoded as a JWS in Compact Serialization Format.</param>
 /// <param name="httpRequestData">A structure that represents an incoming http request.</param>
 /// <param name="accessTokenValidationParameters">A <see cref="TokenValidationParameters"/> required for access token ("at") validation.</param>
 /// <param name="signedHttpRequestValidationParameters">A set of parameters required for validating a SignedHttpRequest.</param>
 /// <remarks>Default <see cref="CallContext"/> will be created.</remarks>
 public SignedHttpRequestValidationContext(string signedHttpRequest, HttpRequestData httpRequestData, TokenValidationParameters accessTokenValidationParameters, SignedHttpRequestValidationParameters signedHttpRequestValidationParameters)
     : this(signedHttpRequest, httpRequestData, accessTokenValidationParameters, signedHttpRequestValidationParameters, new CallContext())
 {
 }