@Timed
@ExceptionMetered
@Override
public Iterable<String> findIDs(@Nullable C criteria, @Nullable S sortOrder) {
DBCursor dbCursor = getPrimaryCollection().
find(convertCriteriaToDBObject(criteria), new FieldsMongoDBObject()).
sort(convertSortOrderToDBObject(sortOrder));
logQueryDetails(dbCursor);
return Iterables.transform(dbCursor, new Function<DBObject, String>() {