@Override
  public T deserialize(final String topic, final byte[] data) {
    final List<?> values = inner.deserialize(topic, data);
    if (values == null) {
      return null;
    }

    SerdeUtils.throwOnColumnCountMismatch(numColumns, values.size(), false, topic);

    return factory.apply(values);
  }
@Test
  public void shouldConvertListToRowWhenDeserializing() {
    // Given:
    givenInnerDeserializerReturns(ImmutableList.of("world", -10));

    // When:
    final TestListWrapper result = deserializer.deserialize("topicName", SERIALIZED);

    // Then:
    assertThat(result.getList(), is(ImmutableList.of("world", -10)));
  }