This isn't Java, this is C#. (In Java this would be more verbose).
The risk is that I unfairly maligned Java, a language which I do not know well anymore, since I abandoned it about when it started to look like this. But according to you I'm being too generous to them as well. :)
that was true only up to about C# 2.0; Java is way, way behind nowadays.
No, because C# had generics before Java.