import java.util.Set; public class WrongGenerics { @SuppressWarnings("unchecked") Set> foo(Set> foo) { return (Set>)foo; } @SuppressWarnings("unchecked") Set> bar(Set> foo) { return (Set>) foo; } @SuppressWarnings("unchecked") Foo bothSucceed(Foo foo) { return (Foo) foo; } @SuppressWarnings("unchecked") Foo> bothFail(Foo> foo) { return (Foo>) foo; } @SuppressWarnings("unchecked") Set> onlyIntelliJSucceeds(Set> foo) { return (Set>) foo; } } class Foo { }