public Optional<Double> getUpperBound() {
        return Optional.ofNullable(upperBound);
    }
Defines the state of a progress bar that has a sliding window i.e.
<p>
-----------------------------------------------------
===================
-----------------------------------------------------
^          ^                 ^                      ^
a          b                 c                      d
<p>
a lowerBound
b rangeFromInc
c rangeToInc
d upperBound
<p>
All values are in the domain units, e.g. if the progress is representing
the display of a range of characters in a file then all values would be
char offsets.
<p>
It can be user to represent a traditional progress bar if rangeFromInc is equal
to lowerBound.
<p>
-----------------------------------------------------
==============================
-----------------------------------------------------
^                            ^                      ^
ab                           c                      d
stroom-core-client-widget/src/main/java/stroom/widget/progress/client/presenter/Progress.java