Index: Ringtoets/Common/src/Ringtoets.Common.Data/Calculation/CalculationGroupExtensions.cs
===================================================================
diff -u -r34a892d5a6359899794f3fb44fcc5a900abaf697 -rce9e1d476f00cfb42ce2a8ab6c762baf5abfd97b
--- Ringtoets/Common/src/Ringtoets.Common.Data/Calculation/CalculationGroupExtensions.cs (.../CalculationGroupExtensions.cs) (revision 34a892d5a6359899794f3fb44fcc5a900abaf697)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/Calculation/CalculationGroupExtensions.cs (.../CalculationGroupExtensions.cs) (revision ce9e1d476f00cfb42ce2a8ab6c762baf5abfd97b)
@@ -31,9 +31,31 @@
{
///
/// Recursively enumerates across the contents of a calculation group,
- /// yielding all calculations found.
+ /// returning all children found.
///
/// The calculation group to be evaluated.
+ /// Returns all contained children as an enumerable result.
+ public static IEnumerable GetAllChildrenRecursive(this CalculationGroup calculationGroup)
+ {
+ var children = new List();
+ foreach (ICalculationBase calculationItem in calculationGroup.Children)
+ {
+ children.Add(calculationItem);
+
+ var nestedCalculationGroup = calculationItem as CalculationGroup;
+ if (nestedCalculationGroup != null)
+ {
+ children.AddRange(GetAllChildrenRecursive(nestedCalculationGroup));
+ }
+ }
+ return children;
+ }
+
+ ///
+ /// Recursively enumerates across the contents of a calculation group,
+ /// returning all calculations found.
+ ///
+ /// The calculation group to be evaluated.
/// Returns all contained calculations as an enumerable result.
public static IEnumerable GetCalculations(this CalculationGroup calculationGroup)
{