### Question:
SingleLineCsvRow extends AbstractRow { private void writeObject(ObjectOutputStream stream) throws IOException { getValues(); stream.defaultWriteObject(); } SingleLineCsvRow(SingleLineCsvDataSet dataSet, final String line, final int columnsInTable,
            final boolean failOnInconsistentRowLength, final int rowNumber); @Override Object getValue(int index); @Override Style getStyle(int index);  }### Answer:
@Test public void testSerialize() throws Exception { final List<Column> columns = new ArrayList<>(); columns.add(new MutableColumn("1")); columns.add(new MutableColumn("2")); final SingleLineCsvDataSet dataSet = new SingleLineCsvDataSet(null, columns, null, 2, new CsvConfiguration()); final SingleLineCsvRow originalRow = new SingleLineCsvRow(dataSet, "foo,bar", 2, false, 1); final ByteArrayOutputStream bytes = new ByteArrayOutputStream(); final ObjectOutputStream out = new ObjectOutputStream(bytes); out.writeObject(originalRow); out.flush(); bytes.flush(); final byte[] byteArray = bytes.toByteArray(); Assert.assertTrue(byteArray.length > 0); final ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(byteArray)); final Row deserializedRow = (Row) in.readObject(); final Object[] values1 = originalRow.getValues(); final Object[] values2 = deserializedRow.getValues(); Assert.assertArrayEquals(values1, values2); }