code: public List<Metric> zip(List<Metric> metrics, Metric baseMetric) {
          SystemAssert.requireArgument(baseMetric != null, "Zipper transform requires base metric as second param!");
  
          List<Metric> zippedMetrics = new ArrayList<Metric>();
          Map<Long, Double> baseDatapoints = baseMetric.getDatapoints();
  
          for (Metric metric : metrics) {
              Map<Long, Double> originalDatapoints = metric.getDatapoints();
              Map<Long, Double> zippedDatadpoints = this.zip(originalDatapoints, baseDatapoints);
  
              metric.setDatapoints(zippedDatadpoints);
              zippedMetrics.add(metric);
          }
          return zippedMetrics;
      }
docs: Merges a list of metrics.
  
  @param   metrics     The metrics to merge.
  @param   baseMetric  The base metric.
  
  @return  The merged metrics.