Сделал функцию traceObj(), которая выводит свойства объектов в рекурсии. Но только для объектов. Но это неважно. Вопрос в другом: возможно ли добавить отступы, чтобы было понятно, что откуда исходит?

Код AS3:
import flash.utils.getQualifiedClassName;
function traceObj(obj:Object):void
{
for (var key in obj)
{
var obj2:* = obj[key];
if (getQualifiedClassName(obj2) == "Object")
{
trace(key + ': {');
traceObj(obj2);
trace('}');
} else trace(key + ' -> ' + obj[key]);
}
}
Текущее состояние:

P.S. Я велосипед изобретаю? есть ли готовые решения?