Non è chiara la relazione tra la classe CheckFile e il metodo jButton3ActionPerformed.

CheckFile mi pare di capire che sia il punto di partenza del programma.
Quindi:
1 - parte il main
2 - parte findDirectory (lasciamo perdere un attimo il senso di "dirIniziale")
3 - dentro findDirectory crei un Element (locale: alla fine del metodo verrà distrutto)
4 - ad un certo punto del metodo findDirectory verifichi se il nome del file corrente è uguale al valore dentro Element. Element che -attenzione!-nessuno ha mai toccato e che vale quindi ancora null

La mia domanda è: jButton3ActionPerformed che diavolo c'entra?