public Map<String, Object> valuesWithPrefixOverride(String prefix) {
        Map<String, Object> result = new RecordingMap<>(values(), prefix, true);
        for (Map.Entry<String, ?> entry : originals.entrySet()) {
            if (entry.getKey().startsWith(prefix) && entry.getKey().length() > prefix.length()) {
                String keyWithNoPrefix = entry.getKey().substring(prefix.length());
                ConfigDef.ConfigKey configKey = definition.configKeys().get(keyWithNoPrefix);
                if (configKey != null)
                    result.put(keyWithNoPrefix, definition.parseValue(configKey, entry.getValue(), true));
                else {
                    String keyWithNoSecondaryPrefix = keyWithNoPrefix.substring(keyWithNoPrefix.indexOf('.') + 1);
                    configKey = definition.configKeys().get(keyWithNoSecondaryPrefix);
                    if (configKey != null)
                        result.put(keyWithNoPrefix, definition.parseValue(configKey, entry.getValue(), true));
                }
            }
        }
        return result;
    }
Put all keys that do not start with {@code prefix} and their parsed values in the result map and then
put all the remaining keys with the prefix stripped and their parsed values in the result map.
<p>
This is useful if one wants to allow prefixed configs to override default ones.
<p>
Two forms of prefixes are supported:
<ul>
    <li>listener.name.{listenerName}.some.prop: If the provided prefix is `listener.name.{listenerName}.`,
        the key `some.prop` with the value parsed using the definition of `some.prop` is returned.</li>
    <li>listener.name.{listenerName}.{mechanism}.some.prop: If the provided prefix is `listener.name.{listenerName}.`,
        the key `{mechanism}.some.prop` with the value parsed using the definition of `some.prop` is returned.
         This is used to provide per-mechanism configs for a broker listener (e.g sasl.jaas.config)</li>
</ul>
</p>
clients/src/main/java/org/apache/kafka/common/config/AbstractConfig.java