private HBaseSubScanSpec regionInfoToSubScanSpec(HRegionInfo ri) {
   HBaseScanSpec spec = hbaseScanSpec;
   return new HBaseSubScanSpec()
       .setTableName(spec.getTableName())
       .setRegionServer(regionsToScan.get(ri).getHostname())
       .setStartRow(
           (!isNullOrEmpty(spec.getStartRow()) && ri.containsRow(spec.getStartRow()))
               ? spec.getStartRow()
               : ri.getStartKey())
       .setStopRow(
           (!isNullOrEmpty(spec.getStopRow()) && ri.containsRow(spec.getStopRow()))
               ? spec.getStopRow()
               : ri.getEndKey())
       .setSerializedFilter(spec.getSerializedFilter());
 }