### Question:
UrlUtils { public static ImmutableMultimap<String, String> merge(ImmutableMultimap<String, String> headers, ImmutableMultimap<String, String> moreHeaders) { ImmutableMultimap.Builder<String, String> m = ImmutableListMultimap.builder(); m.putAll(headers); for (Map.Entry<String, Collection<String>> e : moreHeaders.asMap().entrySet()) { m.putAll(e.getKey(), e.getValue()); } return m.build(); } private  UrlUtils(); static String encode(String component); static String decode(String component); static ParsedUrl parse(String url); static ImmutableMultimap<String, String> merge(ImmutableMultimap<String, String> headers, ImmutableMultimap<String, String> moreHeaders);  }### Answer:
@Test public void test() throws Exception { Assertions.assertThat(UrlUtils.merge(ImmutableMultimap.<String, String> of("a", "a1"), ImmutableMultimap.<String, String> of("a", "a2", "a", "a3")).toString()).isEqualTo("{a=[a1, a2, a3]}"); }