//private static int depth = 0; public override Unifiable RecurseChildren() { try { ResetValues(true); isRecursive = true; Unifiable f = Recurse(); //depth++; /* int d = request.GetCurrentDepth(); * if (d > 30) * { * writeToLogWarn("WARNING Depth pretty deep " + f + " returning empty"); * return Unifiable.Empty; * } * if (depth > 30) * { * writeToLogWarn("WARNING Depth pretty deep " + f + " returning empty"); * return Unifiable.Empty; * }*/ var tn = templateNode; foreach (var cn in tn.ChildNodes) { } string s = Unifiable.ToVMString(f); XmlNode node = new XmlDocumentLineInfo(s, false).ReadNode( XmlDocumentLineInfo.CreateXmlTextReader(new StringReader(s))); bool templateSucceeded; bool createdOutput; templateInfo = GetTemplateInfo(); request.LastHandler = Proc.TagHandling.proccessResponse(query, request, result, (XmlNode)node, templateInfo.Guard, out createdOutput, out templateSucceeded, this, templateInfo, ReadOnly, true); return(Unifiable.Empty); } finally { // depth--; } }