private void processNonFileFormField(String name, Map<String, List<String>> nonFileFormContent, ReadableBodyPart part) {
        List<String> content = nonFileFormContent.computeIfAbsent(name, key -> new ArrayList<>());
        part.content().as(String.class).thenAccept(content::add);
    }

    private void processFileFormField(String name, Map<String, List<InputStream>> fileFormContent, ReadableBodyPart part) {
        List<InputStream> content = fileFormContent.computeIfAbsent(name, key -> new ArrayList<>());
        part.content().map(DataChunk::bytes)
            .collect(ByteArrayOutputStream::new, (stream, bytes) -> {
                try {
                    stream.write(bytes);
                } catch (IOException e) {
                    throw new UncheckedIOException(e);
                }
        })
        .thenAccept(byteStream -> content.add(new ByteArrayInputStream(byteStream.toByteArray())));
    }