I am not sure this is a generics erasure issue. Is the constructor being generated with the proper signature? It seems like it is being generated as Bean( Map m, List l ) instead of with the proper generic signature.