1) imagine you get a json from the server and you don't want to use Gson or something similar however you know the structure of the object. so you just convert the json to a map and delegate your properties to it. as a bonus, you don't lose any key-values pairs you don't delegate to because they are still in the map and you can access them dynamically, e.g. using the user's input as key