### Question:
TableRecords { public static TableRecords empty(TableMeta tableMeta) { return new EmptyTableRecords(tableMeta); } TableRecords();  TableRecords(TableMeta tableMeta); String getTableName(); void setTableName(String tableName); List<Row> getRows(); void setRows(List<Row> rows); void setTableMeta(TableMeta tableMeta); int size(); void add(Row row); List<Map<String,Field>> pkRows(); TableMeta getTableMeta(); static TableRecords empty(TableMeta tableMeta); static TableRecords buildRecords(TableMeta tmeta, ResultSet resultSet);  }### Answer:
@Test public void testEmpty() { TableRecords.EmptyTableRecords emptyTableRecords = new TableRecords.EmptyTableRecords(); Assertions.assertEquals(0, emptyTableRecords.size()); TableRecords empty = TableRecords.empty(new TableMeta()); Assertions.assertEquals(0, empty.size()); Assertions.assertEquals(0, empty.getRows().size()); Assertions.assertEquals(0, empty.pkRows().size()); Assertions.assertThrows(UnsupportedOperationException.class, () -> empty.add(new Row())); Assertions.assertThrows(UnsupportedOperationException.class, empty::getTableMeta); }