code: @Override
    public ResultScanner<Row> readRows(Query request) {
      final ResultScanner<FlatRow> delegate = readFlatRows(request);
      return new ResultScanner<Row>() {
  
        @Override
        public Row next() throws IOException {
          return FlatRowConverter.convertToModelRow(delegate.next());
        }
  
        @Override
        public Row[] next(int count) throws IOException {
          FlatRow[] flatRows = delegate.next(count);
          Row[] rows = new Row[flatRows.length];
          for (int i = 0; i < flatRows.length; i++) {
            rows[i] = FlatRowConverter.convertToModelRow(flatRows[i]);
          }
          return rows;
        }
  
        @Override
        public void close() throws IOException {
          delegate.close();
        }
  
        @Override
        public int available() {
          return delegate.available();
        }
      };
    }
docs: {@inheritDoc}