@Test
  public void whenGroupListUsingMultimap_thenGrouped() {
    final List<String> names = Lists.newArrayList("John", "Adam", "Tom");
    final Function<String, Integer> function =
        new Function<String, Integer>() {
          @Override
          public final Integer apply(final String input) {
            return input.length();
          }
        };
    final Multimap<Integer, String> groups = Multimaps.index(names, function);

    assertThat(groups.get(3), containsInAnyOrder("Tom"));
    assertThat(groups.get(4), containsInAnyOrder("John", "Adam"));
  }