@Override
    public void configure(Map<String, ?> configs) {
        StringConverterConfig conf = new StringConverterConfig(configs);
        String encoding = conf.encoding();

        Map<String, Object> serializerConfigs = new HashMap<>(configs);
        Map<String, Object> deserializerConfigs = new HashMap<>(configs);
        serializerConfigs.put("serializer.encoding", encoding);
        deserializerConfigs.put("deserializer.encoding", encoding);

        boolean isKey = conf.type() == ConverterType.KEY;
        serializer.configure(serializerConfigs, isKey);
        deserializer.configure(deserializerConfigs, isKey);
    }
{@link Converter} and {@link HeaderConverter} implementation that only supports serializing to strings. When converting Kafka Connect
data to bytes, the schema will be ignored and {@link Object#toString()} will always be invoked to convert the data to a String.
When converting from bytes to Kafka Connect format, the converter will only ever return an optional string schema and
a string or null.
<p>
Encoding configuration is identical to {@link StringSerializer} and {@link StringDeserializer}, but for convenience
this class can also be configured to use the same encoding for both encoding and decoding with the
{@link StringConverterConfig#ENCODING_CONFIG converter.encoding} setting.
<p>
This implementation currently does nothing with the topic names or header keys.
connect/api/src/main/java/org/apache/kafka/connect/storage/StringConverter.java