@Override public boolean hasNextBarrier() { this.processAllStarts(); return !this.traverserSet.isEmpty(); }
@Override public boolean hasNextBarrier() { this.processAllStarts(); return !this.traverserSet.isEmpty(); }
The problem here is that if you had an input of X + Y elements where X is your collecting barrier size and Y is some number greater than 0, if the first X elements in the barrier have no results output in the barrier and the latter Y elements in the barrier do have some result, the barrier will only be called on the first X elements and will not execute a second time.