docs: public BinaryMergeIterator<Entry> getMergingIterator(
  			List<ChannelWithMeta> channelIDs,
  			List<FileIOChannel> openChannels)
  			throws IOException {
  		// create one iterator per channel id
  		if (LOG.isDebugEnabled()) {
  			LOG.debug("Performing merge of " + channelIDs.size() + " sorted streams.");
  		}
  
  		final List<MutableObjectIterator<Entry>> iterators = new ArrayList<>(channelIDs.size() + 1);
  
  		for (ChannelWithMeta channel : channelIDs) {
  			AbstractChannelReaderInputView view = FileChannelUtil.createInputView(
  					ioManager, channel, openChannels, compressionEnable, compressionCodecFactory,
  					compressionBlockSize, pageSize);
  			iterators.add(channelReaderInputViewIterator(view));
  		}
  
  		return new BinaryMergeIterator<>(
  				iterators, mergeReusedEntries(channelIDs.size()), mergeComparator());
  	}