You leave some adjancency lists as null. Check, before trying to iterate over them.
while (!vertexQueue.isEmpty()) {
Vertex u = vertexQueue.poll();
Next two lines added
if (u.adjacencies == null)
continue;
// Visit each edge exiting u
for (Edge e : u.adjacencies)