Parameterized generic types

Change-Id: I2eed9b944a9574f2ee5848bcb4e201d95aef6f9a