anchor.diff:        e2=EXISTS 
         { ec = new ExistsCondition($e2); 
           $condition = ec; }
  -      specifiedConditionVariable 
  -      { ec.setVariable($specifiedConditionVariable.variable); }
  +      specifiedVariable 
  +      { ec.setVariable($specifiedVariable.variable); }
       //-> ^(EXISTS_CONDITION[$EXISTS] specifiedVariable2)
       | //(EXISTS LIDENTIFIER (RPAREN|COMMA)) =>
         e1=EXISTS
  
positive.code:         ic.setVariable(v); }
        memberName
        { ic.getVariable().setIdentifier($memberName.identifier); }
        conditionSpecifier
        { ic.getVariable().setSpecifierExpression($conditionSpecifier.specifierExpression); }
      //-> ^(IS_CONDITION[$IS_OP] unionType ^(VARIABLE unionType memberName specifier))
      | //(NOT_OP? IS_OP type LIDENTIFIER (RPAREN|COMMA)) =>
        (n1=NOT_OP { not=true; })?
  
negative.code:       { $specifierExpression.setExpression($functionOrExpression.expression); }
      ;
  
  lazySpecifier returns [SpecifierExpression specifierExpression]
      : COMPUTE
        { $specifierExpression = new LazySpecifierExpression($COMPUTE); }
  