* @param <C> cell type
* @return list of cell groups generated.
* @throws IllegalArgumentException if no table present or table not found.
*/
public <C> List<CellGroup<C>> read(Parameters params, CellTransformer<Map.Entry<Key, Value>, C> transformer) {
AccumuloParameters parameters = AccumuloParameterOps.checkParamType(params);
Connector connector = AccumuloParameterOps.getConnectorFromParameters(instance, parameters);
Authorizations auths = AccumuloParameterOps.getAuthsFromConnector(connector);
if(log.isDebugEnabled())
log.info("Create auths and connector for " + parameters.getUser());
Scan scan = parameters.hasKey(AccumuloParameters.MULTI_RANGE) ?
new MultiRangeScan(connector, auths, parameters) :
new SingleRangeScan(connector, auths, parameters);
if(log.isDebugEnabled())
log.info("Setting up scan type: " + scan.getClass().getName());
return read(scan.get(), parameters, transformer);