AST __t1688 = _t; synPredMatched1688 = true;
AST __t1689 = _t; synPredMatched1689 = true;
	public final void case_expression(AST _t) throws RecognitionException {				AST case_expression_AST_in = (_t == ASTNULL) ? null : (AST)_t;				boolean synPredMatched1688 = false;		if (_t==null) _t=ASTNULL;		if (((_t.getType()==OR))) {			AST __t1688 = _t;			synPredMatched1688 = true;			inputState.guessing++;			try {				{				AST __t1687 = _t;				AST tmp2276_AST_in = (AST)_t;				match(_t,OR);				_t = _t.getFirstChild();				AST tmp2277_AST_in = (AST)_t;				if ( _t==null ) throw new MismatchedTokenException();				_t = _t.getNextSibling();				_t = __t1687;				_t = _t.getNextSibling();				}			}			catch (RecognitionException pe) {				synPredMatched1688 = false;			}			_t = __t1688;inputState.guessing--;		}		if ( synPredMatched1688 ) {			AST __t1689 = _t;			AST tmp2278_AST_in = (AST)_t;			match(_t,OR);			_t = _t.getFirstChild();			case_expression(_t);			_t = _retTree;			case_expression(_t);			_t = _retTree;			_t = __t1689;			_t = _t.getNextSibling();		}		else if ((_t.getType()==WHEN)) {			AST __t1690 = _t;			AST tmp2279_AST_in = (AST)_t;			match(_t,WHEN);			_t = _t.getFirstChild();			expression(_t);			_t = _retTree;			_t = __t1690;			_t = _t.getNextSibling();		}		else if ((_tokenSet_3.member(_t.getType()))) {			expression(_t);			_t = _retTree;		}		else {			throw new NoViableAltException(_t);		}				_retTree = _t;	}