use gson 2.3 as in Ion
we need to differentiate between TypeToken and a regular Type