@Override
    public void print(Iterator<RowData> it, PrintWriter printWriter) {
        if (!it.hasNext()) {
            printEmptyResult(it, printWriter);
            return;
        }
        long numRows = printTable(it, printWriter);
        printFooter(printWriter, numRows);
    }
@Test
    void testPrintWithEmptyResultAndDeriveColumnWidthByContent() {
        PrintStyle.tableauWithTypeInferredColumnWidths(
                        getSchema(),
                        getConverter(),
                        PrintStyle.DEFAULT_MAX_COLUMN_WIDTH,
                        true,
                        false)
                .print(Collections.emptyIterator(), new PrintWriter(outContent));

        assertThat(outContent.toString()).isEqualTo("Empty set" + System.lineSeparator());
    }