In Java 8, this works:
Stream stream = Stream.of(ArrayList.class);
HashMap> map = (HashMap)stream.collect(Collect
I had the same kind of problem. This failed, because groupingBy performs Objects.requireNonNull on the value returned from the classifier:
Map> map = events.stream()
.filter(event -> eventTypeIds.contains(event.getClaimEventTypeId()))
.collect(groupingBy(ClaimEvent::getSubprocessId));
Using Optional, this works:
Map, List> map = events.stream()
.filter(event -> eventTypeIds.contains(event.getClaimEventTypeId()))
.collect(groupingBy(event -> Optional.ofNullable(event.getSubprocessId())));