Just to be more complete, the `@SerializedName` annotation is used for both serialization and deserialization, but that would require a default constructor. As we have an immutable model and have a constructor that requires all the parameters, we need to somehow tell Gson how to map the fields in the JSON object to the arguments of the constructor, and that is what jclouds does with the `@ConstructorProperties` annotation and the strategy mentioned in the previous comment.