class SampleExtendsWildcard { public void highlightsTheBug(Stream stream) { stream.flatMap((Block sink, String element) -> {}); } public interface Block { void apply(B t); } public interface Stream { Stream flatMap(FlatMapper mapper); } public interface FlatMapper { void flatMapInto(Block sink, F element); } } class SampleSuperWildcard { public void highlightsTheBug(Stream stream) { stream.flatMap((Block sink, String element) -> {}); } public interface Block { void apply(B t); } public interface Stream { Stream flatMap(FlatMapper mapper); } public interface FlatMapper { void flatMapInto(Block sink, F element); } }