public void EnsureMaxDepth() { if (subQuads.Count > 0) { a.EnsureMaxDepth(); b.EnsureMaxDepth(); c.EnsureMaxDepth(); d.EnsureMaxDepth(); } else { //Work up from here if (parent != null) { parent.Equalise(); } } }