The code of Method publishConfig of Class ConsulDynamicConfiguration:
```java
    @Override
    public boolean publishConfig(String key, String group, String content) throws UnsupportedOperationException {
        String normalizedKey = convertKey(group, key);
        return kvClient.putValue(normalizedKey + PATH_SEPARATOR + content);
    }
```
We want put a config with value with the "content", but the method just add the "content" to the key and put a null value.
return kvClient.putValue(normalizedKey + PATH_SEPARATOR + content);
    }
    @Override
    public Object getInternalProperty(String key) {
        logger.info("getting config from: " + key);
        return kvClient.getValueAsString(key, Charsets.UTF_8).orElse(null);
    }
    @Override
    public void close() throws Exception {
        client.destroy();
    }
    private String buildPath(String group) {
        String actualGroup = StringUtils.isEmpty(group) ? DEFAULT_GROUP : group;
        return rootPath + PATH_SEPARATOR + actualGroup;
    }
    private String convertKey(String group, String key) {
        return buildPath(group) + PATH_SEPARATOR + key;
    }
    private class ConsulListener implements KVCache.Listener<String, Value> {
        private KVCache kvCache;
        private Set<ConfigurationListener> listeners = new LinkedHashSet<>();
        private String key;
        private String group;
        private String normalizedKey;
        public ConsulListener(String key, String group) {
            this.key = key;
            this.group = group;
            this.normalizedKey = convertKey(group, key);
            initKVCache();
        }