@Test
void groupingBy() {

    final Function<Map.Entry<String, Integer>, Integer> classifier = (Map.Entry<String, Integer> e) -> e.getValue() % 2;
    final Map<Integer, List<Integer>> expected = refStream()
        .collect(Collectors.groupingBy(
            classifier,
            Collectors.mapping(Map.Entry::getValue, Collectors.toList()))
        );
    final Map<Integer, List<Integer>> actual = instance.groupingBy(v -> v % 2).toMap();
    assertEquals(expected, actual);
}