private void startIterator() {
if (logger.isTraceEnabled()) {
logger.trace("Starting shards column iterator");
}
final RangeBuilder rangeBuilder = new RangeBuilder().setLimit( pageSize );
searcher.buildRange( rangeBuilder );
if(smartShardSeekEnabled){
final List<SmartShard> rowKeysWithShardEnd = searcher.getRowKeysWithShardEnd();
final boolean ascending = searcher.getOrder() == SearchByEdgeType.Order.ASCENDING;
currentColumnIterator = new MultiRowShardColumnIterator<>( keyspace, cf, consistencyLevel, searcher, searcher,
searcher.getComparator(), pageSize, rowKeysWithShardEnd, ascending, searcher.getLastTimestamp() );
}else{
final List<ScopedRowKey<R>> rowKeys = searcher.getRowKeys();
currentColumnIterator = new MultiRowColumnIterator<>( keyspace, cf, consistencyLevel, searcher, searcher,
searcher.getComparator(), rowKeys, pageSize );
}
}