@SuppressWarnings("unchecked")
private <E> RandomAccessDataset<E> newDataset(String name, DatasetDescriptor descriptor) {
// TODO: use descriptor.getFormat() to decide type of DAO (Avro vs. other)
String tableName = HBaseMetadataProvider.getTableName(name);
String entityName = HBaseMetadataProvider.getEntityName(name);
Dao dao;
if (isSpecific(descriptor)) {
dao = new SpecificAvroDao(tablePool, tableName, entityName, schemaManager);
} else {
dao = new GenericAvroDao(tablePool, tableName, entityName, schemaManager);
}