generic type

http://docs.oracle.com/javase/tutorial/java/generics/wildcardGuidelines.html