private RequestJobTimeTrackerXML.DurationRec DumpDurationTreeForDiagnostics(RequestJobStateNode treeRoot, bool showTimeSlots = false) { RequestJobDurationData displayDuration = this.GetDisplayDuration(treeRoot.MRState); if (displayDuration == null) { return(null); } RequestJobTimeTrackerXML.DurationRec durationRec = displayDuration.GetDurationRec(treeRoot.MRState, showTimeSlots); foreach (RequestJobStateNode treeRoot2 in treeRoot.Children) { RequestJobTimeTrackerXML.DurationRec durationRec2 = this.DumpDurationTreeForDiagnostics(treeRoot2, showTimeSlots); if (durationRec2 != null && durationRec2.Duration != TimeSpan.Zero.ToString()) { if (durationRec.ChildNodes == null) { durationRec.ChildNodes = new List <RequestJobTimeTrackerXML.DurationRec>(); } durationRec.ChildNodes.Add(durationRec2); } } return(durationRec); }