traceIn("itemType"); try { returnAST = null; ASTPair currentAST = new ASTPair(); org.exist.xquery.parser.XQueryAST itemType_AST = null;  boolean synPredMatched53 = false; if (((LA(1)==LITERAL_item))) { int _m53 = mark(); synPredMatched53 = true;
returnAST = null; ASTPair currentAST = new ASTPair(); org.exist.xquery.parser.XQueryAST itemType_AST = null;  boolean synPredMatched53 = false; if (((LA(1)==LITERAL_item))) { int _m53 = mark(); synPredMatched53 = true; inputState.guessing++; try { { match(LITERAL_item); match(LPAREN); } } catch (RecognitionException pe) { synPredMatched53 = false; } rewind(_m53); inputState.guessing--; } if ( synPredMatched53 ) { org.exist.xquery.parser.XQueryAST tmp157_AST = null; tmp157_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp157_AST); match(LITERAL_item); match(LPAREN); match(RPAREN); itemType_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root; } else { boolean synPredMatched55 = false; if (((_tokenSet_4.member(LA(1))))) { int _m55 = mark(); synPredMatched55 = true;
	public final void itemType() throws RecognitionException, TokenStreamException {				traceIn("itemType");		try { // debugging			returnAST = null;			ASTPair currentAST = new ASTPair();			org.exist.xquery.parser.XQueryAST itemType_AST = null;						boolean synPredMatched53 = false;			if (((LA(1)==LITERAL_item))) {				int _m53 = mark();				synPredMatched53 = true;				inputState.guessing++;				try {					{					match(LITERAL_item);					match(LPAREN);					}				}				catch (RecognitionException pe) {					synPredMatched53 = false;				}				rewind(_m53);				inputState.guessing--;			}			if ( synPredMatched53 ) {				org.exist.xquery.parser.XQueryAST tmp159_AST = null;				tmp159_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));				astFactory.makeASTRoot(currentAST, tmp159_AST);				match(LITERAL_item);				match(LPAREN);				match(RPAREN);				itemType_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			}			else {				boolean synPredMatched55 = false;				if (((_tokenSet_4.member(LA(1))))) {					int _m55 = mark();					synPredMatched55 = true;					inputState.guessing++;					try {						{						matchNot(EOF);						match(LPAREN);						}					}					catch (RecognitionException pe) {						synPredMatched55 = false;					}					rewind(_m55);					inputState.guessing--;				}				if ( synPredMatched55 ) {					kindTest();					astFactory.addASTChild(currentAST, returnAST);					itemType_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				}				else if ((_tokenSet_2.member(LA(1)))) {					atomicType();					astFactory.addASTChild(currentAST, returnAST);					itemType_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				}				else {					throw new NoViableAltException(LT(1), getFilename());				}				}				returnAST = itemType_AST;			} finally { // debugging				traceOut("itemType");			}		}