private ArrayList<Datapoint> convertMetricStatisticsToDataoints(
     Statistics statistics, Collection<MetricStatistics> metrics) {
   ArrayList<Datapoint> datapoints = Lists.newArrayList();
   boolean wantsAverage = statistics.getMember().contains("Average");
   boolean wantsSum = statistics.getMember().contains("Sum");
   boolean wantsSampleCount = statistics.getMember().contains("SampleCount");
   boolean wantsMaximum = statistics.getMember().contains("Maximum");
   boolean wantsMinimum = statistics.getMember().contains("Minimum");
   for (MetricStatistics metricStatistics : metrics) {
     Datapoint datapoint = new Datapoint();
     datapoint.setTimestamp(metricStatistics.getTimestamp());
     datapoint.setUnit(metricStatistics.getUnits().toString());
     if (wantsSum) {
       datapoint.setSum(metricStatistics.getSampleSum());
     }
     if (wantsSampleCount) {
       datapoint.setSampleCount(metricStatistics.getSampleSize());
     }
     if (wantsMaximum) {
       datapoint.setMaximum(metricStatistics.getSampleMax());
     }
     if (wantsMinimum) {
       datapoint.setMinimum(metricStatistics.getSampleMin());
     }
     if (wantsAverage) {
       datapoint.setAverage(
           MetricUtils.average(metricStatistics.getSampleSum(), metricStatistics.getSampleSize()));
     }
     datapoints.add(datapoint);
   }
   return datapoints;
 }