private Map<String, String> splitIntoKeyValuePairs(
      String str,
      Pattern entriesSeparatorPattern,
      Pattern keyValueSeparatorPattern,
      boolean unquoteValue) {
    val keyValuePairs = new IgnoreKeyCaseMap();
    if (StringUtils.hasLength(str)) {
      val tokens = entriesSeparatorPattern.split(str);
      for (val token : tokens) {
        val pair = keyValueSeparatorPattern.split(token.trim(), 2);
        val key = pair[0].trim();
        val value = pair.length > 1 ? pair[1].trim() : "";

        keyValuePairs.put(key, unquoteValue ? unquote(value) : value);
      }
    }
    return keyValuePairs;
  }
Construct an {@code AbstractHttpMessageConverter} that can read mulitpart/form-data.

@param bufSize The size of the buffer (in bytes) to read the HTTP multipart body.
form-spring/src/main/java/feign/form/spring/converter/SpringManyMultipartFilesReader.java