anchor.diff:            u=UNION_OP 
             { $caseTypes.setEndToken($u); }
           | 
  -          COMMA|INTERSECTION_OP
  +          INTERSECTION_OP
             { displayRecognitionError(getTokenNames(), 
                 new MismatchedTokenException(UNION_OP, input)); }
           )
  
positive.code:       )?
      ;
  
  typeConstraints returns [TypeConstraintList typeConstraintList]
      : { $typeConstraintList=new TypeConstraintList(null); }
        (
          typeConstraint
          { if ($typeConstraint.typeConstraint!=null)
              $typeConstraintList.addTypeConstraint($typeConstraint.typeConstraint); }
        )+
      ;
  
  
negative.code:       entryType
        { ct.setType($entryType.type); }
        (
          anonymousTypeConstraints
          { ct.setTypeConstraintList($anonymousTypeConstraints.typeConstraintList); }
        )?
      | entryType
        { $type=$entryType.type; }
  