Ну что касается ретурна, привык я так. А функциям не обязательно ставить подпись возвращаемого типа. Это кому как больше нравится. В конкретно этой функции и так понятно что возвращается строка. Вида "Каталог(Каталог()Каталог(Каталог()))" В общем древовидная структура имеющая корневым каталогом экранныхобъект заданный в параметрах.
http://vkontakte.ru/app1865199_46242160
Вот собственно ещё сырой пример работающий только со спрайтами. Вначале создаётся 100 вложенных случайным образом спрайтов, затем верхний из них отдаётся на растерзание вышеуказанной функции и из этого безобразия составляется деревце. Когда разберусь с типами можно будет составлять иерархию экранных объектов для реальных приложений... Про выход за пределы экрана не говорите, потом поставлю скрол рэкт и 2 скрол бара... Сейчас не до этого.
Похоже мне нужны просто getQualifiedClassName () и getQualifiedSuperclassName(). Сейчас буду эксперементировать...