public string Serialize()
        {
            IStateFormatter formatter = TokenPersister.CreateFormatter();
            State           state     = new State(_value, _signature, _creationDate);

            return(formatter.Serialize(state));
        }
        public static RequestValidationToken Create(string serializedTokenData)
        {
            RequestValidationToken token     = new RequestValidationToken();
            IStateFormatter        formatter = TokenPersister.CreateFormatter();

            try
            {
                State state = (State)formatter.Deserialize(serializedTokenData);

                token._value        = state.Value;
                token._signature    = state.Signature;
                token._creationDate = state.CreationDate;
            }
            catch (Exception exception)
            {
                throw Error.RequestValidationError(exception);
            }
            return(token);
        }