code: protected void fillJoinCollector(K iterkey) throws IOException {
      if (!q.isEmpty()) {
        q.peek().key(iterkey);
        while (0 == cmp.compare(q.peek().key(), iterkey)) {
          ComposableRecordReader<K,?> t = q.poll();
          t.accept(jc, iterkey);
          if (t.hasNext()) {
            q.add(t);
          } else if (q.isEmpty()) {
            return;
          }
        }
      }
    }
docs: For all child RRs offering the key provided, obtain an iterator
  at that position in the JoinCollector.