void (GenericInterface raw, GenericInterface<? super String> superGeneric, GenericInterface<? extends CharSequence> extendGeneric, GenericInterface<? super Integer> superGenericInteger, GenericInterface<? extends Integer> extendGenericInteger, NotGenericInterface notGenericInterface) { ChildNotGeneric notRaw = (ChildNotGeneric) raw; ChildNotGeneric superCast = (ChildNotGeneric) superGeneric; ChildNotGeneric extendCast = (ChildNotGeneric) extendGeneric; //not compile ChildNotGeneric extendNumberCast = <error descr="Inconvertible types; cannot cast 'UncheckedWarningWithCast.GenericInterface<capture<? extends java.lang.Integer>>' to 'UncheckedWarningWithCast.ChildNotGeneric'">(ChildNotGeneric) extendGenericInteger</error>; //not compile ChildNotGeneric superNumberCast = <error descr="Inconvertible types; cannot cast 'UncheckedWarningWithCast.GenericInterface<capture<? super java.lang.Integer>>' to 'UncheckedWarningWithCast.ChildNotGeneric'">(ChildNotGeneric) superGenericInteger</error>; ChildNotGeneric superNotGenericCast = (ChildNotGeneric) notGenericInterface; ChildNotGeneric extendNotGenericCast = (ChildNotGeneric) notGenericInterface; }