public static async Task <HttpResponseMessage> UpdateAsync(this Resources.TokenCredential credential,
                                                                   HttpRequestMessage request, UrlHelper url)
        {
            var actorId = credential.Actor.ToGuid();
            //return await request.GetClaims(
            //    async (claims) =>
            //    {
            var claims          = new System.Security.Claims.Claim[] { };
            var context         = request.GetSessionServerContext();
            var creationResults = await context.Credentials.UpdateTokenCredentialAsync(
                credential.Id.UUID, credential.Email, credential.LastEmailSent,
                claims.ToArray(),
                (inviteId, token) => url.GetLocation <Controllers.TokenCredentialController>()
                .SetQueryParam("token", token.ToString("N")),
                () => request.CreateResponse(HttpStatusCode.Accepted),
                () => request.CreateResponse(HttpStatusCode.NotModified),
                () => request.CreateResponse(HttpStatusCode.NotFound)
                .AddReason($"TokenCredential not found"),
                () => request.CreateResponse(HttpStatusCode.ServiceUnavailable),
                (why) => request.CreateResponse(HttpStatusCode.Conflict)
                .AddReason(why));

            return(creationResults);
            //},
            //() => request.CreateResponse(HttpStatusCode.Unauthorized).ToTask(),
            //(why) => request.CreateResponse(HttpStatusCode.InternalServerError).AddReason(why).ToTask());
        }