1 public class GenericsSmartCast
<T
>{
2 public GenericsSmartCast(GenericsSmartCast
<T
> other
) {}
4 public static Object
foo() { return null; }
6 public static void main(String
[] args
) {
7 GenericsSmartCast
<String
> bar
= new GenericsSmartCast
<String
>((GenericsSmartCast
<String
>) foo());