internal PropertyParameter(Tuple <string, string> pair)
        {
            if (pair == null)
            {
                throw new ArgumentNullException(nameof(pair));
            }

            Name = pair.Item1;
            if (Value is IList)
            {
                foreach (string s in pair.Item2.NonQuotedSplit(Constants.PARAM_MULTI_VAL_SEPARATOR, true))
                {
                    AddValue(IETFValueEncoding.DecodeParameterValue(s));
                }
            }
            else
            {
                SetValue(IETFValueEncoding.DecodeParameterValue(pair.Item2));
            }
            Parameter = Name.ToKnownParameter();
        }
 public void DecodeParameterValueTest(string expected, string input) =>
 Assert.AreEqual(expected, IETFValueEncoding.DecodeParameterValue(input));