anchor.diff:  Fortunately there's now a library that can solve thse so
   
   
  -
  -
  +[source, xml]
  +----
  +<dependency>
  +	<groupId>org.immutables</groupId>
  +	<artifactId>value</artifactId>
  +	<version>2.1.4</version>
  +</dependency>
  +----
   
   
   
  
positive.code: 
  TODO: COde example
  
  
  
  
  
  
  ==== We have Immutable Objects But What About Collections?
  
negative.code: 
  The advantages of immutable obejects are:
  
  * You can think of them as values. A value cannot be changed. If a new value is required, a new object representing the new value needs to be constructed.
  * They are inherently thread-safe. They allow safe concurrent access.
  * Code based on immutable objects are easier to reason about and have a higher probability of consistent, well understood behaviour. Unexpected changes cannot occur.
  
  