// initialize threads for generating initial runs
final BoundedBuffer<Run> initialRunsLevel0 = new BoundedBuffer<Run>(NUMBER_OF_RUNS_IN_BUFFER_FOR_SWAPPING);
final InitialRunGenerator initialRunGenerationThread = new InitialRunGenerator(buffer, initialRunsLevel0, this.NUMBER_ELEMENTS_IN_INITIAL_RUNS, this.runs);
initialRunGenerationThread.start();
// start the swap thread...
final Swapper swapper = new Swapper(initialRunsLevel0);
swapper.start();