anchor.diff:  ----
   <1> Backing field for name property
   <2> Declare name property with annotation for setter/getter
  +
  +===== Explicit accessor methods
  +
  +The automatic generation of accessor methods doesn't occur if there
  +is an explicit definition of the getter or setter in the class.
  +This allows you to modify the normal behavior of such a getter or setter if needed.
  +Inherited accessor methods aren't normally considered but if an inherited
  +accessor method is marked final, that will also cause no generation of an
  +additional accessor method to honor the `final` requirement of no subclassing of such methods.
   
   === Annotation
   
  
positive.code: include::../test/objectorientation/MethodsTest.groovy[tags=checked_method_declaration,indent=0]
  ----
  
  === Fields and properties
  
  [[fields]]
  ==== Fields
  
negative.code: and `getpNAME` and `getPNAME` respectively.
  ====
  
  ===== Modifiers on a property
  
  We have already seen that properties are defined by omitting the visibility modifier.
  In general, any other modifiers, e.g. `transient` would be copied across to the field.
  Two special cases are worth noting:
  
  * `final`, which we saw earlier is for read-only properties, is copied onto the backing field but also causes no setter to be defined
  * `static` is copied onto the backing field but also causes the accessor methods to be static
  
  If you wish to have a modifier like `final` also carried over to the accessor methods,
  you can write your properties long hand or consider using a <<split-properties,split property definition>>.
  
  ===== Annotations on a property
  
  Annotations, including those associated with AST transforms,
  