public IActionResult Get(Guid reviewId, [FromBody] NullableGuidDeserializer nullableUserId = null)
        {
            Guid?userId = nullableUserId.Property;

            Review record;

            try
            {
                record = db.FindRecordById <Review>(REVIEW_TABLE, reviewId);
            }
            catch (Exception e)
            {
                Failure failure = FailureFact.Default(e, userId);
                db.InsertRecordAsync(FAILURE_TABLE, failure);
                return(StatusCode(500, failure));
            }

            if (record == null)
            {
                Failure failure = FailureFact.IdNotFound(null, userId, reviewId);
                db.InsertRecordAsync(FAILURE_TABLE, failure);
                return(NotFound(failure));
            }

            Success success = SuccessFact.ReviewRetrieved(reviewId, userId);

            db.InsertRecordAsync(SUCCESS_TABLE, success);

            return(new OkObjectResult(record));
        }