Если убрать параметр для worker, то внутри worker всегда будет обращение к тому obj, который параметр для collapse. А он не меняется и потому всегда будет происходить рекурсивный вызов, до переполнения.
Сейчас worker обращается к своему параметру obj, он всякий раз новый и рано или поздно станет не объектом (если, конечно, в твоем объекте нет кольцевых ссылок)
|