{ switch ( LA(1)) { case LITERAL_empty: { org.exist.xquery.parser.XQueryAST tmp194_AST = null; tmp194_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp194_AST); match(LITERAL_empty); { switch ( LA(1)) { case LITERAL_greatest: { org.exist.xquery.parser.XQueryAST tmp195_AST = null; tmp195_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp195_AST); match(LITERAL_greatest); break; } case LITERAL_least: { org.exist.xquery.parser.XQueryAST tmp196_AST = null; tmp196_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp196_AST); match(LITERAL_least); break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } break; } case COMMA: case LITERAL_return: { break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } orderModifier_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root; returnAST = orderModifier_AST; } finally { traceOut("orderModifier");
break;
	public final void orderModifier() throws RecognitionException, TokenStreamException {				traceIn("orderModifier");		try { // debugging			returnAST = null;			ASTPair currentAST = new ASTPair();			org.exist.xquery.parser.XQueryAST orderModifier_AST = null;						{			switch ( LA(1)) {			case LITERAL_ascending:			{				org.exist.xquery.parser.XQueryAST tmp192_AST = null;				tmp192_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));				astFactory.addASTChild(currentAST, tmp192_AST);				match(LITERAL_ascending);				break;			}			case LITERAL_descending:			{				org.exist.xquery.parser.XQueryAST tmp193_AST = null;				tmp193_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));				astFactory.addASTChild(currentAST, tmp193_AST);				match(LITERAL_descending);				break;			}			case COMMA:			case LITERAL_empty:			case LITERAL_return:			{				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			{			switch ( LA(1)) {			case LITERAL_empty:			{				org.exist.xquery.parser.XQueryAST tmp194_AST = null;				tmp194_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));				astFactory.addASTChild(currentAST, tmp194_AST);				match(LITERAL_empty);				{				switch ( LA(1)) {				case LITERAL_greatest:				{					org.exist.xquery.parser.XQueryAST tmp195_AST = null;					tmp195_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.addASTChild(currentAST, tmp195_AST);					match(LITERAL_greatest);					break;				}				case LITERAL_least:				{					org.exist.xquery.parser.XQueryAST tmp196_AST = null;					tmp196_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.addASTChild(currentAST, tmp196_AST);					match(LITERAL_least);					break;				}				default:				{					throw new NoViableAltException(LT(1), getFilename());				}				}				}				break;			}			case COMMA:			case LITERAL_return:			{				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			orderModifier_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			returnAST = orderModifier_AST;		} finally { // debugging			traceOut("orderModifier");		}	}