@SuppressWarnings("unchecked")
D castDao = (D) dao;
return castDao;
}
DatabaseTable databaseTable = clazz.getAnnotation(DatabaseTable.class);
if (databaseTable == null || databaseTable.daoClass() == Void.class
|| databaseTable.daoClass() == BaseDaoImpl.class) {
@SuppressWarnings("deprecation")
Dao<T, ?> daoTmp = BaseDaoImpl.createDao(connectionSource, clazz);
dao = daoTmp;
} else {
Class<?> daoClass = databaseTable.daoClass();
Constructor<?> daoConstructor = null;
Object[] arguments = null;
Constructor<?>[] constructors = daoClass.getConstructors();
// look first for the constructor with a class parameter in case it is a generic dao
for (Constructor<?> constructor : constructors) {