private Map> splitUidsByBatch(List uids, int batchSize) {
  Map> batchMap = new HashMap>();
  int batch = uids.size() / batchSize;
  int batchRemainder = uids.size() % batchSize;
  for (int i = 0; i <= batch; i++) {
   int fromIndex = i * batchSize;
   int toIndex;
   if (i < batch) {
    toIndex = (i + 1) * batchSize;
   } else {
    toIndex = i * batchSize + batchRemainder;
   }
   List subUidList = uids.subList(fromIndex, toIndex);
   if (subUidList != null && subUidList.size() != 0) {
    batchMap.put(i, subUidList);
   }
  }
  return batchMap;
 }