private static Entity Search(string url)
        {
            var query = SearchUrlPattern.Match(HttpUtility.UrlDecode(url)).Groups[1].Value;

            var searchBuilder = new SearchBuilder().WithQuery(query);

            var nameValueCollection = HttpUtility.ParseQueryString(new Uri(RedditBaseAddress, url).Query);

            IEnumerable <Thing> things;

            if (nameValueCollection.AllKeys.Contains("type"))
            {
                var type = nameValueCollection["type"];

                var count = nameValueCollection.AllKeys.Contains("count") ? int.Parse(nameValueCollection["count"]) : 0;

                searchBuilder.WithCount(count);

                if (type == "subreddit")
                {
                    things = new Reddit().SearchSubreddits(query).Skip(count).Take(25);
                    searchBuilder.OnlySubreddit();
                }
                else
                {
                    things = new Reddit().Search <Thing>(query).Skip(count).Take(25);
                    searchBuilder.OnlyPost();
                }
            }
            else
            {
                things = new Reddit().SearchSubreddits(query).Take(3).Concat(new Reddit().Search <Thing>(query).Take(22));
            }

            return(searchBuilder.Build(things));
        }