Quando trovi una cartella, chiami ricorsivamente il metodo e sovrascrivi alcune variabili (essendo statiche), perdendo quindi informazioni sulla cartella superiore.
Quando il controllo torna al metodo precedente, le variabili sovrascritte sollevano l'eccezione.