public T GetOptional <T> (string name)
        {
            if (!KeyValues.Contains(name))
            {
                return(default(T));
            }

            return((T)Get(name));
        }
        public object GetOptional(string name)
        {
            if (!KeyValues.Contains(name))
            {
                return(null);
            }

            return(Get(name));
        }