Java Core : almost finish part3: Generics