public XElement GetQueryXml(WorkItemContext context, FieldList fields) { var parser = new LexalParser(this.QueryText); var nodes = parser.ProcessWherePart(); nodes.Optimize(); nodes.ExtractOperatorForward(); nodes.FixFields(fields); nodes.FillFieldTypes(fields); var manager = new ParameterManager(context); manager.EvalParameters(nodes); var xmlTransformer = new NodesToXml(nodes); return(XElement.Parse(xmlTransformer.WriteXml())); }