void GetModelsToExecute(ReportView view, List<ReportModel> result) { if (view.Model != null && !result.Contains(view.Model)) result.Add(view.Model); foreach (var child in view.Views) GetModelsToExecute(child, result); }