/** Returns this PerfStatValue divided by the argument, field by field. */
  public PerfStatValue dividedBy(PerfStatValue dpsv) {
    PerfStatValue psv = new PerfStatValue(this.statspec, this.trimspec);
    if (this.isFlatline() && dpsv.isFlatline()) {
      return null;
    }

    psv.setArchives(this.archives);
    psv.setProductVersion(this.productVersion);
    psv.setIsLargerBetter(this.isLargerBetter); // go with the numerator here
    psv.setSamples(this.samples.intValue());

    if (this.min != null && dpsv.min != null) {
      psv.setMin(divide(this.getMin(), dpsv.getMin()));
    }
    if (this.max != null && dpsv.max != null) {
      psv.setMax(divide(this.getMax(), dpsv.getMax()));
    }
    if (this.maxminusmin != null && dpsv.maxminusmin != null) {
      psv.setMaxMinusMin(divide(this.getMaxMinusMin(), dpsv.getMaxMinusMin()));
    }
    if (this.mean != null && dpsv.mean != null) {
      psv.setMean(divide(this.getMean(), dpsv.getMean()));
    }
    if (this.stddev != null && dpsv.stddev != null) {
      psv.setStddev(divide(this.getStddev(), dpsv.getStddev()));
    }
    return psv;
  }