How to Serialize and Deserialize Generic Objects using GSON