anchor.diff:  === Class
   
   Groovy classes are very similar to Java classes, and are compatible with Java ones at JVM level.
  -They may have methods, fields and properties (think JavaBean properties but with less boilerplate).
  +They may have methods, fields and properties (think JavaBeans properties but with less boilerplate).
   Classes and class members can have the same modifiers (public, protected, private, static, etc) as in Java
   with some minor differences at the source level which are explained shortly.
   
  
positive.code: <3> writing `p.groovy` is allowed because there is a pseudo-writeonly property `groovy`
  
  This syntactic sugar is at the core of many DSLs written in Groovy.
  
  === Annotation
  
  
negative.code: 
  A property is an externally visible feature of a class. Rather than just using a public field to represent
  such features (which provides a more limited abstraction and would restrict refactoring possibilities),
  the typical approach in Java is to follow the conventions outlined in the
  {javabeans}[JavaBeans Specification], i.e. represent the property using a
  combination of a private backing field and getters/setters. Groovy follows these same conventions
  but provides a simpler way to define the property. You can define a property with:
  
  * an *absent* access modifier (no `public`, `protected` or `private`)
  * one or more optional _modifiers_ (`static`, `final`, `synchronized`)
  