code: @Override
      public BatchMetricQuery findBatchById(String id) {
          String json = _cacheService.get(ROOT + id);
          if (json == null) {
              return null;
          }
          try {
              Map<String, Object> batchData = MAPPER.readValue(json, new TypeReference<HashMap<String, Object>>() {});
              Status status = BatchMetricQuery.Status.fromInt((Integer) batchData.get("status"));
              int ttl = Integer.valueOf(batchData.get("ttl").toString());
              long createdDate = Long.valueOf(batchData.get("createdDate").toString());
              String ownerName = (String) batchData.get("ownerName");
              String batchId = (String) batchData.get("batchId");
              List<AsyncBatchedMetricQuery> queries = new ArrayList<>();
  
              int[] indices = MAPPER.readValue((String) batchData.get("indices"), int[].class);
              for (int index: indices) {
                  queries.add(_findQueryById(batchId, index));
              }
              BatchMetricQuery batch = new BatchMetricQuery(status, ttl, createdDate, batchId, ownerName, queries);
              return batch;
          } catch (IOException ex) {
              throw new SystemException(ex);
          }
      }
docs: ~ Methods **************************************************************************************************************************************