code: public static synchronized void registerDaoWithTableConfig(ConnectionSource connectionSource, Dao<?, ?> dao) {
  		if (connectionSource == null) {
  			throw new IllegalArgumentException("connectionSource argument cannot be null");
  		}
  		if (dao instanceof BaseDaoImpl) {
  			DatabaseTableConfig<?> tableConfig = ((BaseDaoImpl<?, ?>) dao).getTableConfig();
  			if (tableConfig != null) {
  				addDaoToTableMap(new TableConfigConnectionSource(connectionSource, tableConfig), dao);
  				return;
  			}
  		}
  		addDaoToClassMap(new ClassConnectionSource(connectionSource, dao.getDataClass()), dao);
  	}
docs: Same as {@link #registerDao(ConnectionSource, Dao)} but this allows you to register it just with its
  {@link DatabaseTableConfig}. This allows multiple versions of the DAO to be configured if necessary.