public static void ServeSitemap(string domainDataCode)
        {
            var request  = HttpContext.Current.Request;
            var response = HttpContext.Current.Response;

            try
            {
                var lastModDate = Sitemap.GetLastCreated(domainDataCode).AsUtc();
                if (lastModDate == null) // base code, return 404
                {
                    throw new VoteException("No sitemap for {0}", domainDataCode);
                }

                // First check if the sitemap has been modified
                var      ifModifiedSinceHeader = request.Headers["If-Modified-Since"];
                DateTime ifModifiedSince;
                var      isModified = true; // assume modified unless we prove otherwise
                if (!string.IsNullOrWhiteSpace(ifModifiedSinceHeader) &&
                    DateTime.TryParse(ifModifiedSinceHeader, out ifModifiedSince))
                {
                    isModified = false; // change our assumption
                    // If mod date is greater, we need to check for insignificant (< 1 sec)
                    // difference, because of lossy date conversions.
                    if (lastModDate > ifModifiedSince)
                    {
                        isModified = (lastModDate - ifModifiedSince) > TimeSpan.FromSeconds(1);
                    }
                }

                ServeSitemapContent(domainDataCode, lastModDate.Value, isModified);
            }
            catch (VoteException ex)
            {
                response.Write(ex.Message);
                response.StatusCode = 404;
            }
            catch (Exception)
            {
                response.Write("Sitemap not available");
                response.StatusCode = 404;
            }
            finally
            {
                response.End();
            }
        }