// signal that all the data is parsed (and nothing will be put into the buffer any more)
buffer.endOfData();
// wait for threads to finish generating initial runs...
try {
initialRunGenerationThread.join();
} catch (final InterruptedException e) {
System.err.println(e);
e.printStackTrace();
}