public static Optional<String> getEffectiveValue(final String defaultValue,
                                                     final OverrideValue<String> databaseOverrideValue,
                                                     final OverrideValue<String> yamlOverrideValue) {
        if (yamlOverrideValue != null && yamlOverrideValue.isHasOverride()) {
            return yamlOverrideValue.getValueAsOptional();
        } else if (databaseOverrideValue != null && databaseOverrideValue.isHasOverride()) {
            return databaseOverrideValue.getValueAsOptional();
        } else {
            return Optional.ofNullable(defaultValue);
        }
    }
@return The effective value of the property on this node taking into account the precedence order
of default, database and yaml values
stroom-core-shared/src/main/java/stroom/config/global/shared/ConfigProperty.java