anchor.diff:  forIterator returns [ForIterator iterator]
       @init { ValueIterator vi=null;
               KeyValueIterator kvi = null; }
  -    : v1=variable
  -    (
  -      { vi = new ValueIterator(null);
  -        vi.setVariable($v1.variable);
  -        $iterator = vi; }
  -      c1=containment
  -      { vi.setSpecifierExpression($c1.specifierExpression); }
  +    : compilerAnnotations
  +    ( 
  +      v1=var
  +      (
  +        { vi = new ValueIterator(null);
  +          vi.setVariable($v1.variable);
  +          $iterator = vi; }
  +        c1=containment
  +        { vi.setSpecifierExpression($c1.specifierExpression); }
         //-> ^(VALUE_ITERATOR $v1 containment)
  -    | ENTRY_OP
  -      { kvi = new KeyValueIterator($ENTRY_OP);
  -        kvi.setKeyVariable($v1.variable);
  -        $iterator = kvi; }
  -      v2=variable
  -      { kvi.setValueVariable($v2.variable); }
  -      c2=containment
  -      {  kvi.setSpecifierExpression($c2.specifierExpression); }
  +      | ENTRY_OP
  +        { kvi = new KeyValueIterator($ENTRY_OP);
  +          kvi.setKeyVariable($v1.variable);
  +          $iterator = kvi; }
  +        v2=var
  +        { kvi.setValueVariable($v2.variable); }
  +        c2=containment
  +        {  kvi.setSpecifierExpression($c2.specifierExpression); }
         //-> ^(KEY_VALUE_ITERATOR $v1 $v2 containment)
  +      )
       )
  +    { if ($iterator!=null) {
  +          $iterator.getCompilerAnnotations().addAll($compilerAnnotations.annotations); 
  +    } }
       ;
       
   containment returns [SpecifierExpression specifierExpression]
  
positive.code:         p3=parameters
          { $variable.addParameterList($p3.parameterList); }
        )+
      //-> ^(VARIABLE FUNCTION_MODIFIER memberName parameters+)
      )
      ;
  
  impliedVariable returns [Variable variable]
  
negative.code:     ;
  
  variable returns [Variable variable]
      : compilerAnnotations
        var
        { $variable=$var.variable;
          $variable.getCompilerAnnotations().addAll($compilerAnnotations.annotations); }
      ;
      
  var returns [Variable variable]
      : { $variable = new Variable(null); }
      (
        unionType 
        { $variable.setType($unionType.type); }
  