anchor.diff:             { mdec.setSpecifierExpression($ms.specifierExpression); }
             )?
             { $declaration = mdec; }
  -          SEMICOLON
  -          { $declaration.setEndToken($SEMICOLON); }
  +          s1=SEMICOLON
  +          { $declaration.setEndToken($s1); }
           //-> ^(METHOD_DECLARATION unionType memberName methodParameters specifier?)
           )
         | 
  
positive.code:           { adec.setSpecifierOrInitializerExpression($initializer.initializerExpression); }
          )?
          { $declaration = adec; }
          SEMICOLON
          { $declaration.setEndToken($SEMICOLON); }
        //-> ^(ATTRIBUTE_DECLARATION unionType memberName specifier? initializer?)
        | ab=memberBody[$unionType.type]
          { adef.setBlock($ab.block); }
  
negative.code:       | { displayRecognitionError(getTokenNames(), 
                new MismatchedTokenException(LBRACE, input)); }
          SEMICOLON
          { $declaration.setEndToken($SEMICOLON); }
        )
      //-> ^(OBJECT_ARGUMENT[$OBJECT_DEFINITION] VALUE_MODIFIER memberName extendedType? satisfiedTypes? classBody?)
      ;
  