#strict 2 global func GetContents(bool recursive, object obj) { obj = obj || this; var ret = []; for(var i = 0; i < obj->ContentsCount(); ++i) { ret[GetLength(ret)] = obj->Contents(i); if(recursive) { ArrayAppendArray(ret, obj->Contents(i)->GetContents(true)); } } return ret; }