public void ProcessRequest(HttpContext context)
        {
            string configName = context.Request.QueryString["configuration"];

            _configuration = CodeGenerationSettings.Instance.GetConfiguration(configName);
            context.Response.ContentType = "text/plain";
            using (XmlTextWriter writer = new XmlTextWriter(context.Response.OutputStream, Encoding.UTF8))
            {
                writer.Formatting = Formatting.Indented;
                writer.WriteRaw("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n");
                writer.WriteStartElement("namespaces");
                _templates = _configuration.GetTemplateSettings().ToDictionary(t => t.Path);

                foreach (var nameSpace in _templates.Values.GroupBy(c => c.NameSpace))
                {
                    writer.WriteStartElement("namespace");
                    writer.WriteAttributeString("name", nameSpace.Key);

                    foreach (var template in nameSpace)
                        WriteTemplate(template, writer);

                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
            }
        }