/// <summary>
        /// Adds a new parameter to the URI
        /// </summary>
        /// <param name="key">the key </param>
        /// <param name="value">the value</param>
        /// <remarks>
        /// The value will be converted to a url valid coding.
        /// </remarks>
        public void AddParameter(string key, string value)
        {
            string urlEncodeValue = WebUtility.UrlEncode(value);

            if (FirstParameter)
            {
                UrlStringBuilder.AppendFormat("?{0}={1}", key, urlEncodeValue);
                FirstParameter = false;
            }
            else
            {
                UrlStringBuilder.AppendFormat("&{0}={1}", key, urlEncodeValue);
            }
        }
 /// <summary>
 /// Gets the URI with all previously added paraemter
 /// </summary>
 /// <returns>the complete URI as a string</returns>
 public string GetUrl()
 {
     return(UrlStringBuilder.ToString());
 }