public Duration getAverageDuration() {
            if (cumulativeDuration.isZero()) {
                return Duration.ZERO;
            } else {
                return cumulativeDuration.dividedBy(iterationCount);
            }
        }
Measures the time taken to perform resultSupplier if isTimed is true.
If isTimed is false returns a {@link TimedResult} containing a zero duration.
stroom-util/src/main/java/stroom/util/logging/DurationTimer.java