What are the main differences between the JDK in terms of handling safe var args?

The above issues a warning in JDK 1.6 –
Type safety: A generic array of List is created for a varargs
parameter
- Why is this warning seen here?
- What is JDK1.7 doing to suppress it?
Please help me understand.
JDK7 added the @SafeVarargs annotation to note when generic varargs are genuinely safe, and applied that annotation to e.g.
Collections.addAll.