/// <summary> /// Recursively builds the zone tree by breaking down parent zones into children /// </summary> /// <param name="parentZone">The parent zone</param> private void Build(Zone parentZone) { HtmlElement toBreakDown; if (this.ShouldBreakDown(parentZone, out toBreakDown)) { var childrenZones = this.BreakDownZone(parentZone, toBreakDown); parentZone.AddChildren(childrenZones); foreach (var child in parentZone.Children) { this.Build(child); } } }