@AssertTrue(
            message = "stroom." + PROP_NAME_HALT_BOOT_ON_CONFIG_VALIDATION_FAILURE + " is set to false. If there is " +
                      "invalid configuration the system may behave in unexpected ways. This setting is not advised.",
            payload = ValidationSeverity.Warning.class)
    @JsonProperty(PROP_NAME_HALT_BOOT_ON_CONFIG_VALIDATION_FAILURE)
    @JsonPropertyDescription("If true, Stroom will halt on start up if any errors are found in the YAML " +
                             "configuration file. If false, the errors will simply be logged." +
                             "Setting this to false is not advised.")
    public boolean isHaltBootOnConfigValidationFailure() {
        return haltBootOnConfigValidationFailure;
    }
Will construct a full immutable AppConfig tree will ALL defaults set.
stroom-config/stroom-config-app/src/main/java/stroom/config/app/AppConfig.java