public void setVersion(final Integer version) {
        this.version = version;
    }
This class records config properties that are derived from the following
sources in increasing order of precedence (larger number == higher precedence)
1. Cluster wide compile time default values
2. Cluster wide database values (as displayed/edited in the UI properties screen)
3. Node specific values from the dropwizard YAML file
<p>
The object holds the values from all available sources from which the effective value
can be derived.
<p>
The effective value of a property on a node will be governed by the above precedence rules.
Properties can be changed by means of the UI (database level) or via changes to the YAML
which are hot-loaded in. A change at the DB level may not be effective if there is value
in the YAML.
<p>
The source of config properties for the application is the Guice bound AppConfig class and its
child objects. Changes to the YAML or database will result in updates to the Guice bound AppConfig
object.
<p>
stroom-core-shared/src/main/java/stroom/config/global/shared/ConfigProperty.java