_loop1216:
_loop1220:
	public final void dostate(AST _t) throws RecognitionException {				AST dostate_AST_in = (_t == ASTNULL) ? null : (AST)_t;				AST __t1212 = _t;		AST tmp34_AST_in = (AST)_t;		match(_t,DO);		_t = _t.getFirstChild();		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case FOR:		{			block_for(_t);			_t = _retTree;			break;		}		case PERIOD:		case BREAK:		case BY:		case COLLATE:		case GROUP:		case ON:		case PRESELECT:		case QUERYTUNING:		case TRANSACTION:		case WHILE:		case WITH:		case LEXCOLON:		case Block_iterator:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case PRESELECT:		{			block_preselect(_t);			_t = _retTree;			break;		}		case PERIOD:		case BREAK:		case BY:		case COLLATE:		case GROUP:		case ON:		case QUERYTUNING:		case TRANSACTION:		case WHILE:		case WITH:		case LEXCOLON:		case Block_iterator:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		_loop1216:		do {			if (_t==null) _t=ASTNULL;			if ((_tokenSet_2.member(_t.getType()))) {				block_opt(_t);				_t = _retTree;			}			else {				break _loop1216;			}					} while (true);		}		block_colon(_t);		_t = _retTree;		code_block(_t);		_t = _retTree;		block_end(_t);		_t = _retTree;		_t = __t1212;		_t = _t.getNextSibling();		_retTree = _t;	}