anchor.diff:          }
       ;
   
  -
  -// *TODO* We must also audit the various occurrences of warning
  -// suppressions like "options { greedy = true; }".
  -
   /** A declaration with one declarator and no initialization, like a parameterDeclaration.
    *  Used to parse loops like <code>for (int x in y)</code> (up to the <code>in</code> keyword).
    */
  
positive.code:             #importStatement = #(create(IMPORT,"import",first,LT(1)),an,is);}
      ;
  
  // TODO REMOVE
  // A type definition is either a class, interface, enum or annotation with possible additional semis.
  //typeDefinition
  //      options {defaultErrorHandler = true;}
  //      :       m:modifiers!
  //              typeDefinitionInternal[#m]
  //      |       SEMI!
  //      ;
  
  // Added this production, even though 'typeDefinition' seems to be obsolete,
  // as this is referenced by many other parts of the grammar.
  // Protected type definitions production for reuse in other productions
  protected typeDefinitionInternal[AST mods]
      :   cd:classDefinition[#mods]       // inner class
  
negative.code:     |   "throw"! throwE:expression[0]!
          {#branchStatement = #(create(LITERAL_throw,"throw",first,LT(1)),throwE);}
  
  
      // groovy assertion...
      |   "assert"! assertAle: assignmentLessExpression!
  