In questo codice:
Boolean v = v.NewIstanceOf(a);
tu stai chiedendo di accedere al metodo NewInstanceOf dell'oggetto referenziato da v, solo che v, in questo punto di codice, non è ancora stato inizializzato (in particolare non gli è ancora stato assegnato alcun riferimento, nemmeno
null!!!).
Ad ogni modo, la ragionevolezza induce a pensare che il compilatore potrebbe anche lasciar invocare metodi statici su variabili riferimento a oggetto di una certa classe, anche se l'oggetto in sé non è ancora stato inizializzato, giacché dell'oggetto in sé non viene né letto né scritto lo stato (e ogni oggetto in qualche modo rappresenta il suo stato, a meno che non li si voglia vedere come variabili della programmazione funzionale, come in
Featherweight Java, ...).
Sarebbe auspicabile che questa cosa sia corretta nelle prossime funzioni di Java, non in quanto bug, ma come una feature aggiuntiva

.
In conclusione, il modo auspicabile (e corretto, nel tuo caso) per invocare metodi
statici (anche per far risaltare subito agli occhi la loro
staticità già leggendo il codice) sarebbe di invocarli sulla classe che li contiene. Nel tuo caso, così:
Boolean v = Boolean.NewInstanceOf
Leggo inoltre che il docente vi richiede di usare la nomenclatura CamelCase, tuttavia in Java la convenzione standard per la nomenclatura è un CamelCase modificato nel fatto che la primissima lettera va rigorosamente tenuta minuscola. Fateglielo presente, se ve la sentite

.
Buona sera

.
(EDIT: avevo scritto "buona sera" due volte
)