completely learning purpose. trying to understand java generics