if ((_tokenSet_3.member(LA(1)))) {
if ((_tokenSet_2.member(LA(1)))) {
	protected final void mCHAR_REF(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {		int _ttype; Token _token=null; int _begin=text.length();		_ttype = CHAR_REF;		int _saveIndex;				match('&');		match('#');		{		if ((_tokenSet_3.member(LA(1)))) {			mDIGITS(false);		}		else if ((LA(1)=='x')) {			{			match('x');			mHEX_DIGITS(false);			}		}		else {			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());		}				}		match(';');		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {			_token = makeToken(_ttype);			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));		}		_returnToken = _token;	}