This is to support Gson, which will not pass the values to the constructor, but will use reflection to populate the fields afterwards.