private Parser<T> parsePartial( ByteBuffer buffer, MapBuilderFactory.Builder<K, V, ? extends T> builder, int remaining, SeqParser<? extends K, ? extends V> kvSeqParser, CharsetDecoder charsetDecoder) { return kvSeqParser.parse( buffer, (key, value) -> { builder.put(key, value); return null; }, partial -> new Parser<T>() { @Override public <U1> U1 parse( ByteBuffer buffer, Function<? super T, U1> resultHandler, PartialHandler<? super T, U1> partialHandler, CharsetDecoder charsetDecoder) { return doParse( buffer, resultHandler, partialHandler, builder, remaining, partial, charsetDecoder); } }, charsetDecoder); }