public Printed<K, V> withKeyValueMapper(final KeyValueMapper<? super K, ? super V, String> mapper) {
        Objects.requireNonNull(mapper, "mapper can't be null");
        this.mapper = mapper;
        return this;
    }
@Test
    public void shouldPrintWithKeyValueMapper() throws UnsupportedEncodingException {
        final Processor<String, Integer, Void, Void> processor = new PrintedInternal<>(
            sysOutPrinter.withKeyValueMapper((key, value) -> String.format("%s -> %d", key, value))
        ).build("processor").get();
        processor.process(new Record<>("hello", 1, 0L));
        processor.close();
        assertThat(sysOut.toString(StandardCharsets.UTF_8.name()), equalTo("[processor]: hello -> 1\n"));
    }