@Override
  public DataSource createDataSource(String tableName, ProgressMonitor pm)
      throws DataSourceCreationException {
    if (!file.exists()) {
      throw new DataSourceCreationException(
          file + " " + I18N.getString("gdms.datasource.error.noexits"));
    }

    final FileDriver driver;
    try {
      driver = getDriver();
    } catch (DriverException ex) {
      throw new DataSourceCreationException(ex);
    }

    driver.setDataSourceFactory(getDataSourceFactory());

    FileDataSourceAdapter ds = new FileDataSourceAdapter(getSource(tableName), file, driver, false);
    return ds;
  }