@Override
    public ConfiguredDataSourceProvenance getProvenance() {
        return provenance;
    }
@Test
    public void testBasic() {
        CSVDataSource<MockOutput> dataSource = new CSVDataSource<>(dataFile, rowProcessor, true);

        MutableDataset<MockOutput> dataset = new MutableDataset<>(dataSource);

        assertEquals(6,dataset.size(),"Found an incorrect number of rows when loading the csv.");

        DatasetProvenance prov = dataset.getProvenance();

        List<ObjectMarshalledProvenance> datasetProvenance = ProvenanceUtil.marshalProvenance(prov);

        assertFalse(datasetProvenance.isEmpty());

        ObjectProvenance unmarshalledProvenance = ProvenanceUtil.unmarshalProvenance(datasetProvenance);

        assertEquals(prov,unmarshalledProvenance);
    }