Added second and third part of reflection in generics