import java.util.Comparator; import java.util.Set; class CastError { public void foo(Comparator comparator) throws Exception { MyComparator comparator1 = (MyComparator) comparator; } public void foo1(Comparator comparator) throws Exception { MyComparator comparator1 = (MyComparator) comparator; } public void foo2(Comparator comparator) throws Exception { MyComparator comparator1 = (MyComparator) comparator; } public void foo3(Comparator comparator) throws Exception { MyComparator comparator1 = (MyComparator) comparator; } public void foo4(Comparator comparator) throws Exception { MyComparator comparator1 = (MyComparator) comparator; } public void foo5(Comparator comparator) throws Exception { MyComparator comparator1 = (MyComparator) comparator; } //--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||-- public void sfoo(Set> comparator) throws Exception { Set comparator1 = (Set) comparator; } public void sfoo1(Set> comparator) throws Exception { Set comparator1 = (Set) comparator; } public void sfoo2(Set> comparator) throws Exception { Set comparator1 = (Set) comparator; } public void sfoo3(Set> comparator) throws Exception { Set comparator1 = (Set) comparator; } public void sfoo4(Set> comparator) throws Exception { Set comparator1 = (Set) comparator; } public void sfoo5(Set> comparator) throws Exception { Set comparator1 = (Set) comparator; } } abstract class MyComparator implements Comparator { }