docs: public Iterator<Page> getSortedPages()
      {
          return new AbstractIterator<Page>()
          {
              private int currentPosition;
              private final PageBuilder pageBuilder = new PageBuilder(types);
              private final int[] outputChannels = new int[types.size()];
  
              {
                  Arrays.setAll(outputChannels, IntUnaryOperator.identity());
              }
  
              @Override
              public Page computeNext()
              {
                  currentPosition = buildPage(currentPosition, outputChannels, pageBuilder);
                  if (pageBuilder.isEmpty()) {
                      return endOfData();
                  }
                  Page page = pageBuilder.build();
                  pageBuilder.reset();
                  return page;
              }
          };
      }