// "Replace with collect" "true" import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; class Test { public static List> fromString(final T src, Function> extractor) { final List> result = extractor.apply(src).stream().map((Function>) TokenFilter::new).collect(Collectors.toList()); return result; } static class TokenFilter { public TokenFilter(String s) { } } }