private List splitRowsToHalf()

in src/main/java/com/google/cloud/solutions/bqremoteencryptionfn/fns/dlp/DlpRequestBatchExecutor.java [151:166]


    private List<DlpRequestT> splitRowsToHalf(DlpRequestT dlpRequest) {

      var table = dlpRequestToTableFn.apply(dlpRequest);

      var rows = table.getRowsList();
      var rowCount = table.getRowsCount();
      var splitPoint = rowCount / 2;

      logger.atInfo().log("Splitting Table: new RowSize: %s", splitPoint);

      return Stream.of(
              table.toBuilder().clearRows().addAllRows(rows.subList(0, splitPoint)).build(),
              table.toBuilder().clearRows().addAllRows(rows.subList(splitPoint, rowCount)).build())
          .map(subTable -> tableToDlpRequestFnFactory.apply(dlpClient).apply(subTable))
          .toList();
    }