Why is it not legal to have the following two methods in the same class?
class Test{ void add(Set ii){} void add(Set ss){}
It could be possible that the compiler translates Set(Integer) to Set(Object) in java byte code. If this is the case, Set(Integer) would be used only at compile phase for syntax checking.