If this is replaced with a non-recursive call:

    newParentNode = m_root->addChildGroup( parentName)
 
The whole updateTree() function can return void() - which I guess makes the action clearer?