@Test
  public void serializeEmpty() {
    // given
    Multimap<HttpMethod, RestParameter> map = LinkedHashMultimap.create();

    // when
    String serialized = serializer.serialize(map);

    // then
    assertEquals("{}", serialized);
  }
  @Test
  public void serializeSimple() {
    // given
    Multimap<HttpMethod, RestParameter> map = LinkedHashMultimap.create();
    map.put(HttpMethod.GET, new RestParameter("a", 1));

    // when
    String serialized = serializer.serialize(map);

    // then
    assertEquals("{\"GET\":[{\"key\": \"a\", \"value\": \"1\"}]}", serialized);
  }
  @Test
  public void serializeComplex() {
    // given
    Multimap<HttpMethod, RestParameter> map = LinkedHashMultimap.create();
    map.put(HttpMethod.GET, new RestParameter("a", 1));
    map.put(HttpMethod.GET, new RestParameter("b", false));
    map.put(HttpMethod.POST, new RestParameter("c", "some string"));
    map.put(HttpMethod.POST, new RestParameter("d", 29L));

    // when
    String serialized = serializer.serialize(map);

    // then
    assertEquals(
        "{\"GET\":[{\"key\": \"a\", \"value\": \"1\"}, {\"key\": \"b\", \"value\": \"false\"}],"
            + "\"POST\":[{\"key\": \"c\", \"value\": \"some string\"}, {\"key\": \"d\", \"value\": \"29\"}]}",
        serialized);
  }