private double getComputedUpperBound() {
        // If there is no upperbound then make one that is a bit bigger than what is known
        if (progress.getUpperBound().isPresent()) {
            computedUpperBound = progress.getUpperBound().get();
        } else {
            computedUpperBound = Math.max(
                    computedUpperBound,
                    (progress.getRangeToInc() - progress.getLowerBound()) * uncertaintyFactor);
            uncertaintyFactor = Math.max(
                    UNCERTAINTY_FACTOR_MIN,
                    uncertaintyFactor - UNCERTAINTY_FACTOR_DELTA);
        }
        return computedUpperBound;
    }
@param valueConsumer A consumer of the value of the point on the progress bar
                     that was clicked in the same units as used in {@link Progress}.
                     valueConsumer will not be called if the current value of {@link Progress}
                     has no upper bound.
stroom-core-client-widget/src/main/java/stroom/widget/progress/client/presenter/ProgressPresenter.java