To allow JSON tag names to NOT match field names, setters, and getters. Ex: Where a JSON object contains a tag like this: "name": "John", It would properly populate a field in a class like this: ``` java @JsonProperty("name") protected String mPrettyName; public String getPrettyName() { return mPrettyName; } public void setPrettyName(String prettyName) { mPrettyName = prettyName; } ``` Note that the field, setter ,and getter do NOT match the JSON tag name.