/// <summary> Drills down recursively until a segment is reached.</summary> private void FindLeaf() { if (currentChild == -1) { currentChild = 0; } var c = CurrentGroup.GetClass(childNames[currentChild]); if (typeof(IGroup).IsAssignableFrom(c)) { DrillDown(currentChild, 0); FindLeaf(); } }