/// <summary>
        /// Gets the games from http://steamcommunity.com/id/[customurl]/games/?xml=1.
        /// </summary>
        /// <param name="steamUserId">The steam user id.</param>
        /// <returns></returns>
        public ICollection <Game> GetGames(string steamUserId)
        {
            if (steamUserId == null)
            {
                throw new ArgumentNullException("steamUserId");
            }

            Uri gamesUrl = GetGamesUrl(steamUserId, true);

            string xml = _webClient.DownloadString(gamesUrl);

            if (xml == null)
            {
                return(new Game[0]);
            }

            try
            {
                return(_gamesParser.Parse(xml));
            }
            catch (XmlException ex)
            {
                string message = String.Format("Invalid games URL for {0}.", steamUserId);
                throw new InvalidGamesXmlException(message, ex);
            }
        }
        /// <summary>
        ///   Gets the games from http://steamcommunity.com/id/[customurl]/games/?xml=1.
        /// </summary>
        /// <param name="steamUserId"> The steam user id. </param>
        /// <param name="language"> The language. </param>
        /// <returns> </returns>
        public ICollection <Game> GetGames(string steamUserId, string language)
        {
            if (steamUserId == null)
            {
                throw new ArgumentNullException("steamUserId");
            }

            Uri gamesUrl = GetGamesUrl(steamUserId, true, language);

            Debug.WriteLine(gamesUrl);

            string xml = _webClient.DownloadString(gamesUrl);

            if (xml == null)
            {
                return(new Game[0]);
            }

            try
            {
                return(_gamesParser.Parse(xml));
            }
            catch (XmlException ex)
            {
                throw new InvalidGamesXmlException(steamUserId, gamesUrl, ex);
            }
        }
        /// <summary>
        /// Gets the games from http://steamcommunity.com/id/[customurl]/games/?xml=1.
        /// </summary>
        /// <param name="steamUserId">The steam user id.</param>
        /// <returns></returns>
        public ICollection <Game> GetGames(string steamUserId)
        {
            if (steamUserId == null)
            {
                throw new ArgumentNullException("steamUserId");
            }

            Uri gamesUrl = GetGamesUrl(steamUserId, true);

            string xml = _webClient.DownloadString(gamesUrl);

            if (xml == null)
            {
                return(new Game[0]);
            }

            return(_gamesParser.Parse(xml));
        }