protected ItemCollection<QueryOutcome> doQuery(QuerySpec spec) {
// set the table name
String tableName = getTable().getTableName();
QueryRequest req = spec.getRequest().withTableName(tableName);
// hash key
final KeyAttribute hashKey = spec.getHashKey();
req.addKeyConditionsEntry(hashKey.getName(),
new Condition()
.withComparisonOperator(ComparisonOperator.EQ)
.withAttributeValueList(InternalUtils.toAttributeValue(hashKey.getValue()))
);
// range key condition
RangeKeyCondition rangeKeyCond = spec.getRangeKeyCondition();
if (rangeKeyCond != null) {
KeyConditions keyCond = rangeKeyCond.getKeyCondition();