@SuppressWarnings({"rawtypes", "unchecked"})
 @Override
 public scala.collection.Iterator<Row> compute(Partition split, TaskContext context) {
   AnalyticsPartition partition = (AnalyticsPartition) split;
   try {
     Iterator<Record> recordsItr =
         ServiceHolder.getAnalyticsDataService()
             .readRecords(partition.getRecordStoreName(), partition.getRecordGroup());
     return new InterruptibleIterator(
         context,
         asScalaIterator(
             new RowRecordIteratorAdaptor(recordsItr, this.tenantId, this.incEnable, this.incID)));
   } catch (AnalyticsException e) {
     throw new RuntimeException(e.getMessage(), e);
   }
 }
 @Override
 public Seq<String> getPreferredLocations(Partition split) {
   if (split instanceof AnalyticsPartition) {
     AnalyticsPartition ap = (AnalyticsPartition) split;
     try {
       return JavaConversions.asScalaBuffer(Arrays.asList(ap.getRecordGroup().getLocations()))
           .toList();
     } catch (AnalyticsException e) {
       log.error(
           "Error in getting preffered location: "
               + e.getMessage()
               + " falling back to default impl.",
           e);
       return super.getPreferredLocations(split);
     }
   } else {
     return super.getPreferredLocations(split);
   }
 }