in realtà in quella funzione non ci arrivi mai, quindi ti trovi lo schema con le opzioni di default, che per un oggetto è null

Poi non so se sei obbligato ad usare la ricorsione, quell'algoritmo non è ricorsivo (si ferma quasi subito), quindi così come è impostato non va.

Bisogna fissare la ricorsione bene, difficile fissarla su 2 condizioni