Por que meu método está entrando em recursão infinita?

Eu escrevi um método para ajudar a construir um quadtree. Cada quadtree tem um nó raiz e um nó raiz tem 4 filhos. Estou usando a recursão de profundidade para impedir que essa função se divida muitas vezes. A profundidade que é passada é igual à base de log 2 do lado do quadrado (um quadrado é sempre passado). No entanto, recebo uma recursão infinita disso. Alguém vê por quê?

Quando o executo, a saída é "Profundidade = 0" infinitamente várias vezes ..

questionAnswers(6)

yourAnswerToTheQuestion