### Question:
HttpHeaders { static HttpHeaders parse(String headers) { if (headers == null || headers.isEmpty()) { return new HttpHeaders(Collections.emptyMap()); } TreeMap<String, List<String>> headersMap = new TreeMap<>(CASE_INSENSITIVE_ORDER); for (String header : headers.split(LF)) { if (header.trim().isEmpty()) { continue; } String[] headerComponents = header.split(":"); if (headerComponents.length != 2) { throw new IllegalArgumentException("Cannot parse \"" + escape(header) + "\" as a header"); } String headerName = headerComponents[0]; String headerValue = headerComponents[1].trim(); headersMap.computeIfAbsent(headerName, k -> new ArrayList<>()) .add(headerValue); } return new HttpHeaders(Collections.unmodifiableMap(headersMap)); } private  HttpHeaders(Map<String, List<String>> headers); int size(); Optional<String> getContentType(); Optional<String> getContentDisposition();  }### Answer:
@Test void parse() { HttpHeaders httpHeaders = HttpHeaders.parse("Content-Disposition: form-data; name=\"xml_sct\"\r\n" + "Content-Type: application/xml\r\n" + "Content-Length: 1434\r\n\r\n"); assertThat(httpHeaders.size()).isEqualTo(3); }