public static <T, K> AggregateOperation1<T, Map<K, List<T>>, Map<K, List<T>>> groupingBy(
            FunctionEx<? super T, ? extends K> keyFn
    ) {
        checkSerializable(keyFn, "keyFn");
        return groupingBy(keyFn, toList());
    }
@Test
    public void when_groupingBy_withDifferentKey() {
        Entry<String, Integer> entryA = entry("a", 1);
        Entry<String, Integer> entryB = entry("b", 1);
        validateOpWithoutDeduct(
                groupingBy(entryKey()),
                identity(),
                entryA,
                entryB,
                asMap("a", singletonList(entryA)),
                asMap("a", singletonList(entryA), "b", singletonList(entryB)),
                asMap("a", singletonList(entryA), "b", singletonList(entryB))
        );
    }