class CSVDataSources implements IDataSourceConfig, Cloneable {

    @Override
    public CSVDataSources clone()
    {
        try
        {
            CSVDataSources result = (CSVDataSources)super.clone();
            result.myDataSources = StreamUtilities.map(myDataSources, dataSource -> dataSource.clone());
            return result;
        }
        catch (CloneNotSupportedException e)
        {
            throw new ExpectedCloneableException(e);
        }
    }

}