code: public PagedList<PoolUsageMetrics> listPoolUsageMetrics(DateTime startTime, DateTime endTime,
              DetailLevel detailLevel, Iterable<BatchClientBehavior> additionalBehaviors)
              throws BatchErrorException, IOException {
          PoolListUsageMetricsOptions options = new PoolListUsageMetricsOptions().withStartTime(startTime)
                  .withEndTime(endTime);
          BehaviorManager bhMgr = new BehaviorManager(this.customBehaviors(), additionalBehaviors);
          bhMgr.appendDetailLevelToPerCallBehaviors(detailLevel);
          bhMgr.applyRequestBehaviors(options);
  
          return this.parentBatchClient.protocolLayer().pools().listUsageMetrics(options);
      }
docs: Lists pool usage metrics.
  
  @param startTime
  The start time of the aggregation interval covered by this entry.
  @param endTime
  The end time of the aggregation interval for this entry.
  @param detailLevel
  A {@link DetailLevel} used for filtering the list and for
  controlling which properties are retrieved from the service.
  @param additionalBehaviors
  A collection of {@link BatchClientBehavior} instances that are
  applied to the Batch service request.
  @return A list of {@link PoolUsageMetrics} objects.
  @throws BatchErrorException
  Exception thrown when an error response is received from the
  Batch service.
  @throws IOException
  Exception thrown when there is an error in
  serialization/deserialization of data sent to/received from the
  Batch service.