code: @Override
    public Result adaptResponse(Row response) {
      if (response == null) {
        return new Result();
      }
  
      SortedSet<Cell> hbaseCells = new TreeSet<>(KeyValue.COMPARATOR);
      byte[] rowKey = ByteStringer.extract(response.getKey());
  
      for (com.google.cloud.bigtable.data.v2.models.RowCell rowCell : response.getCells()) {
  
        byte[] familyNameBytes = Bytes.toBytes(rowCell.getFamily());
        byte[] columnQualifier = ByteStringer.extract(rowCell.getQualifier());
  
        // Bigtable timestamp has more granularity than HBase one. It is possible that Bigtable
        // cells are deduped unintentionally here. On the other hand, if we don't dedup them,
        // HBase will treat them as duplicates.
        long hbaseTimestamp = TimestampConverter.bigtable2hbase(rowCell.getTimestamp());
        RowCell keyValue = new RowCell(
            rowKey,
            familyNameBytes,
            columnQualifier,
            hbaseTimestamp,
            ByteStringer.extract(rowCell.getValue()));
  
        hbaseCells.add(keyValue);
      }
  
      return Result.create(hbaseCells.toArray(new Cell[hbaseCells.size()]));
    }
docs: {@inheritDoc}
  
  Convert a {@link Row} to a {@link Result}.