public class OnlyUncheckedWarningCastWithDuplicatedArguments{ public static void test(BiGenericInterface t, EmptyInterface emptyInterface, BiGenericInterface stringI) { //unchecked UnaryGenericInterface t1 = (UnaryGenericInterface)t; //unchecked UnaryGenericInterface t2 = (UnaryGenericInterface)emptyInterface; //unchecked ChildUnaryGenericInterface t3 = (ChildUnaryGenericInterface)t; StringOneGenericInterface t4 = (StringOneGenericInterface)stringI; UnaryGenericInterface t5 = (UnaryGenericInterface)stringI; UnaryGenericInterface t6 = (UnaryGenericInterface)stringI; StringInterface t7 = (StringInterface) stringI; ChildUnaryGenericInterfaceWithBound childChild2 = (ChildUnaryGenericInterfaceWithBound)t; BoundChildBiGenericInterface child3 = (BoundChildBiGenericInterface)t; TwoPathGenericChild child1Child3 = (TwoPathGenericChild)t; } } interface EmptyInterface {} interface BiGenericInterface extends EmptyInterface { } interface UnaryGenericInterface extends BiGenericInterface {} interface StringOneGenericInterface extends BiGenericInterface { } interface StringInterface extends BiGenericInterface { } interface ChildUnaryGenericInterface extends UnaryGenericInterface {} interface ChildUnaryGenericInterfaceWithBound extends UnaryGenericInterface { } interface BoundChildBiGenericInterface extends BiGenericInterface {} interface TwoPathGenericChild extends UnaryGenericInterface, BiGenericInterface {}