public static <T> TimedResult<T> measure(final Supplier<T> resultSupplier) {
        final Instant startTime = Instant.now();
        final T result = resultSupplier.get();
        return new TimedResult<>(Duration.between(startTime, Instant.now()), result);
    }
@return The duration between the start and stop time (if {@link DurationTimer#stop()} was called)
else the duration between the start time and now.
stroom-util/src/main/java/stroom/util/logging/DurationTimer.java