/// <summary>
        /// Compiles a querystring
        /// Returns string representation of the object
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        internal static string Encode(System.Collections.Generic.Dictionary <string, string> obj)
        {
            var sb = new StringBuilder();

            foreach (var key in obj.Keys)
            {
                if (sb.Length > 0)
                {
                    sb.Append("&");
                }
                sb.Append(GlobalHelper.EncodeURIComponent(key));
                sb.Append("=");
                sb.Append(GlobalHelper.EncodeURIComponent(obj[key]));
            }
            return(sb.ToString());
        }
        /// <summary>
        /// Compiles a querystring
        /// Returns string representation of the object
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string Encode(ConcurrentDictionary <string, string> obj)
        {
            var sb = new StringBuilder();

            foreach (var key in obj.Keys.OrderBy(x => x))
            {
                if (sb.Length > 0)
                {
                    sb.Append("&");
                }
                sb.Append(GlobalHelper.EncodeURIComponent(key));
                sb.Append("=");
                sb.Append(GlobalHelper.EncodeURIComponent(obj[key]));
            }
            return(sb.ToString());
        }