Fix #170: Use RecursiveRoleIterator to traverse children