public void SubClaim()
        {
            string issuer   = "http://www.GotJWT.com";
            string audience = "http://www.contoso.com";

            JwtSecurityToken        jwt        = new JwtSecurityToken(issuer: issuer, audience: audience, claims: ClaimSets.JsonClaims(issuer, issuer), lifetime: new Lifetime(DateTime.UtcNow, DateTime.UtcNow + TimeSpan.FromHours(1)));
            JwtSecurityTokenHandler jwtHandler = new JwtSecurityTokenHandler();

            jwtHandler.RequireSignedTokens = false;
            string                    encodedJwt           = jwtHandler.WriteToken(jwt);
            JwtSecurityToken          jwtRead              = jwtHandler.ReadToken(encodedJwt) as JwtSecurityToken;
            TokenValidationParameters validationParameters = new TokenValidationParameters()
            {
                AudienceUriMode = Selectors.AudienceUriMode.Never,
                ValidIssuer     = issuer,
            };

            var   cp        = jwtHandler.ValidateToken(jwtRead, validationParameters);
            Claim jsonClaim = cp.FindFirst(typeof(Entity).ToString());

            Assert.IsFalse(jsonClaim == null, string.Format(CultureInfo.InvariantCulture, "Did not find Jsonclaims. Looking for claim of type: '{0}'", typeof(Entity).ToString()));

            JavaScriptSerializer js = new JavaScriptSerializer();
            string jsString         = js.Serialize(Entity.Default);

            Assert.IsFalse(jsString != jsonClaim.Value, string.Format(CultureInfo.InvariantCulture, "Find Jsonclaims of type: '{0}', but they weren't equal.\nExpecting '{1}'.\nReceived '{2}'", typeof(Entity).ToString(), jsString, jsonClaim.Value));
        }