private boolean ensureRangeWithData() {
      while (range == null || range.remaining() <= 0) {
        ++rangeIx;
        if (rangeIx == ranges.size()) return false;
        range = ranges.get(rangeIx).getByteBufferDup();
      }
      return true;
    }
Pool factory that is used if another one isn't specified - just creates the objects.
ql/src/java/org/apache/hadoop/hive/ql/io/orc/encoded/EncodedReaderImpl.java