You can't do that at runtime. The best you could do is to create a List<?> and do runtime type checking yourself.
If you're curious why this is, check out "type erasure". http://docs.oracle.com/javase/tutorial/java/generics/erasure.html
Alternatively, you could attempt to clone the old list, but only the implementations of list have a clone() method, not the List interface, and it will only perform a shallow copy.
Good luck!