static Properties resolveProducerProperties(Map<String, String> options, Object keySchema, Object valueSchema) {
        Properties properties = from(options);

        withSerdeProducerProperties(true, options, keySchema, properties);
        withSerdeProducerProperties(false, options, valueSchema, properties);

        return properties;
    }
@Test
    public void when_producerProperties_avroPropertyIsDefined_then_itsNotOverwritten() {
        // key
        assertThat(PropertiesResolver.resolveProducerProperties(Map.of(
                OPTION_KEY_FORMAT, AVRO_FORMAT,
                KEY_SERIALIZER, "serializer"
        ), DUMMY_SCHEMA, null)).containsExactlyInAnyOrderEntriesOf(Map.of(
                KEY_SERIALIZER, "serializer",
                OPTION_KEY_AVRO_SCHEMA, DUMMY_SCHEMA
        ));

        // value
        assertThat(PropertiesResolver.resolveProducerProperties(Map.of(
                OPTION_KEY_FORMAT, UNKNOWN_FORMAT,
                OPTION_VALUE_FORMAT, AVRO_FORMAT,
                VALUE_SERIALIZER, "serializer"
        ), null, DUMMY_SCHEMA)).containsExactlyInAnyOrderEntriesOf(Map.of(
                VALUE_SERIALIZER, "serializer",
                OPTION_VALUE_AVRO_SCHEMA, DUMMY_SCHEMA
        ));
    }