We should keep the DataConverter interface as is.  If an abstract base class is helpful to ensure Exceptions are caught, wrapped, and re-thrown, we should add that as a new class that implements DataConverter, and then have the rest of the converters extends this.  Can you leave the DataConverter interface as is, and rename the abstract base class to "BaseDataConverter"?