anchor.diff:  
   ==== invokeMethod
   
  -This method is primarily intended to be used in conjunction with the <<core-metaprogramming.adoc#_groovyinterceptable,GroovyInterceptable>>
  +This method is primarily intended to be used in conjunction with the <<_groovyinterceptable,GroovyInterceptable>>
   interface or an object's `MetaClass` where it will intercept all method calls.
   
   It is also invoked when the method called is not present on a Groovy object. Here is a simple example using an
  
positive.code: 
  - POJO - A regular Java object whose class can be written in Java or any other language for the JVM.
  - POGO - A Groovy object whose class is written in Groovy. It extends `java.lang.Object` and implements the gapi:groovy.lang.GroovyObject[] interface by default.
  - Groovy Interceptor - A Groovy object that implements the gapi:groovy.lang.GroovyInterceptable[] interface and has method-interception capability which is discussed in the <<core-metaprogramming.adoc#_groovyinterceptable,GroovyInterceptable>> section.
  
  For every method call Groovy checks whether the object is a POJO or a POGO. For POJOs, Groovy fetches its `MetaClass` from the gapi:groovy.lang.MetaClassRegistry[] and delegates method invocation to it. For POGOs, Groovy takes more steps, as illustrated in the following figure:
  
  
negative.code: ----
  
  [NOTE]
  Additional information about `MetaClass` can be found in the <<_metaclasses,MetaClasses>> section.
  
  [[categories]]
  === Categories
  