watcher/api/src/main/java/io/fabric8/maven/watcher/api/WatcherConfig.java
public String get(Configs.Key key, String defaultVal) {
        String val = config != null ? config.getConfig(name, key.name()) : null;

        if (val == null) {
            String fullKey = WATCHER_PROP_PREFIX + "." + name + "." + key;
            val = Configs.getSystemPropertyWithMavenPropertyAsFallback(projectProperties, fullKey);
        }
        return val != null ? val : defaultVal;
    }
public String get(Configs.Key key, String defaultVal) {
        String val = config != null ? config.getConfig(name, key.name()) : null;

        if (val == null) {
            String fullKey = WATCHER_PROP_PREFIX + "." + name + "." + key;
            val = Configs.getSystemPropertyWithMavenPropertyAsFallback(projectProperties, fullKey);
        }
        return val != null ? val : defaultVal;
    }
Get a config value with a default. If no value is given, as a last resort, project properties are looked up.

@param key key part to lookup. The whole key is build up from <code>prefix + "." + key</code>. If key is null,
then only the prefix is used for the lookup (this is suitable for enrichers having only one config option)
@param defaultVal the default value to use when the no config is set
@return the value looked up or the default value.