@Override
    public void configure(Map<String, ?> configs, boolean isKey) {
        if (listClass != null || inner != null) {
            log.error("Could not configure ListDeserializer as some parameters were already set -- listClass: {}, inner: {}", listClass, inner);
            throw new ConfigException("List deserializer was already initialized using a non-default constructor");
        }
        configureListClass(configs, isKey);
        configureInnerSerde(configs, isKey);
    }
@Test
    public void testListValueDeserializerShouldThrowConfigExceptionDueAlreadyInitialized() {
        props.put(CommonClientConfigs.DEFAULT_LIST_VALUE_SERDE_TYPE_CLASS, ArrayList.class);
        props.put(CommonClientConfigs.DEFAULT_LIST_VALUE_SERDE_INNER_CLASS, Serdes.StringSerde.class);
        final ListDeserializer<Integer> initializedListDeserializer = new ListDeserializer<>(ArrayList.class,
            Serdes.Integer().deserializer());
        final ConfigException exception = assertThrows(
            ConfigException.class,
            () -> initializedListDeserializer.configure(props, true)
        );
        assertEquals("List deserializer was already initialized using a non-default constructor", exception.getMessage());
    }