AST __t706 = _t;
AST __t711 = _t;
	public final void downstate(AST _t) throws RecognitionException {				AST downstate_AST_in = (_t == ASTNULL) ? null : (AST)_t;		AST head = null;				AST __t706 = _t;		head = _t==ASTNULL ? null :(AST)_t;		match(_t,DOWN);		_t = _t.getFirstChild();		if ( inputState.guessing==0 ) {			action.frameInitializingStatement(head);		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case STREAM:		{			{			stream_name(_t);			_t = _retTree;			{			if (_t==null) _t=ASTNULL;			if ((_tokenSet_3.member(_t.getType()))) {				expression(_t);				_t = _retTree;			}			else if ((_t.getType()==EOF||_t.getType()==PERIOD||_t.getType()==WITH)) {			}			else {				throw new NoViableAltException(_t);			}						}			}			break;		}		case EOF:		case PERIOD:		case WITH:		{			break;		}		default:			if (_t==null) _t=ASTNULL;			if ((_tokenSet_3.member(_t.getType()))) {				{				expression(_t);				_t = _retTree;				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case STREAM:				{					stream_name(_t);					_t = _retTree;					break;				}				case EOF:				case PERIOD:				case WITH:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				}			}		else {			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case WITH:		{			framephrase(_t);			_t = _retTree;			break;		}		case EOF:		case PERIOD:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		state_end(_t);		_t = _retTree;		if ( inputState.guessing==0 ) {			action.frameStatementEnd();		}		_t = __t706;		_t = _t.getNextSibling();		_retTree = _t;	}