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();
}