anchor.diff:  
   // Definition of a Java class
   classDefinition![AST modifiers]
  -{Token first = cloneToken(LT(1));AST prevCurrentClass = currentClass; 
  +{Token first = cloneToken(LT(1));AST prevCurrentClass = currentClass;
   if (modifiers != null) {
        first.setLine(modifiers.getLine());
        first.setColumn(modifiers.getColumn());
  
positive.code: tryBlock {Token first = LT(1);List catchNodes = new ArrayList();AST newHandler_AST = null;}
      :   "try"! nlsWarn! tryCs:compoundStatement!
              ( options {greedy=true;} : {!(LA(1) == NLS && LA(2) == LPAREN)}? nls! h:handler!
              
                //expand the list of nodes for each catch statement
                {newHandler_AST = #(null,newHandler_AST,h);}   )*
              ( options {greedy=true;} :  nls! fc:finallyClause!)?
          
          {#tryBlock = #(create(LITERAL_try,"try",first,LT(1)),tryCs,newHandler_AST,fc);}
      ;
  
  
negative.code:  *      back onto the new root (1.22.4) - Jeremy Rayner (Jan 2005)
   *    o for a map of the task see...
   *      http://groovy.javanicus.com/java-g.png
   *
   * Version 1.22.4.g.2
   *    o mkempf, rkleeb, Dec 2007
   *    o fixed various rules so that they call the correct Create Method
  