Essendo lì l'eccezione di NullPointerException innanzitutto vuol dire che document è null. Se document è null, è perché il build(file) evidentemente è fallito lanciando una eccezione (che tu sì, hai catturato ma senza far "reagire" in modo più corretto e pertanto prosegue nel codice) quindi document è rimasto appunto a null.
Perché il build fallisce .... presumibilmente la specifica del file non è corretta/appropriata.
P.S. dal e.printStackTrace(); allora dovresti avere la stampa anche di un altro stack-trace. Guarda quello.