I have talked about AutoValue, a library that generates Immutable value-type codes for Java 1.6+. This talk is an introduction to AutoValue library; check out the links below to learn more about AutoValue. I am guessing that those articles and the talk will help you understand more about AutoValue itself and the power of it.
* “A Deeper Look at AutoValue” - Ryan Harter
http://ryanharter.com/blog/2016/04/08/autovalue-deep-dive/
* “AutoValue Extensions” - Ryan Harter
http://ryanharter.com/blog/2016/05/16/autovalue-extensions/
* “AutoValue Extensions” - Jake Wharton
http://jakewharton.com/auto-value-extensions-ny-android-meetup/