code: private BT advanceAndRead(BT reuse) throws IOException {
  		if (!partitions.hasNext()) {
  			return null;
  		}
  		currentPartition = partitions.next();
  		currentPartition.setReadPosition(0);
  
  		try {
  			reuse = serializer.deserialize(reuse, currentPartition);
  		} catch (EOFException e) {
  			reuse = advanceAndRead(reuse);
  		}
  		return reuse;
  	}
docs: /* jump to the next partition and continue reading from that