In fact, I think we actually need to implement the whole RecursiveIterator interface. The thing is that getChildren is not an array of array, but an array of other Role.