In pseudo code:
BOOL removeTheChildless(NSTreeNode *tree)
{
for each NSTreeNode *child
{
if ( removeTheChildless(child) )
removeChild child from tree
}
return tree.isLeaf;
}
The "for each" can be based on mutableChildNodes
. HTH.