public static T Success <T>(this T self, BinarySingleItemOperation <T> op)
            where T : class, IOperationResult
        {
            self.Success = true;
            self.Cas     = op.Cas;

            return(self);
        }
        public static T Failed <T>(this T self, BinarySingleItemOperation <T> op, Exception exception)
            where T : class, IOperationResult
        {
            self.Success   = false;
            self.Cas       = op.Cas;
            self.Message   = exception.Message;
            self.Exception = exception;

            return(self);
        }
        public static T NotFound <T>(this T self, BinarySingleItemOperation <T> op)
            where T : class, IOperationResult
        {
            self.Success    = false;
            self.Cas        = op.Cas;
            self.Message    = "NOT_FOUND";
            self.Exception  = new KeyNotFoundException(Encoding.UTF8.GetString(op.Key.Array, 0, op.Key.Length));
            self.StatusCode = 1;

            return(self);
        }