boolean synPredMatched552 = false;
boolean synPredMatched46 = false;
	public final void itemType() throws RecognitionException, TokenStreamException {				returnAST = null;		ASTPair currentAST = new ASTPair();		AST itemType_AST = null;				boolean synPredMatched552 = false;		if (((LA(1)==LITERAL_item))) {			int _m552 = mark();			synPredMatched552 = true;			inputState.guessing++;			try {				{				match(LITERAL_item);				match(LPAREN);				}			}			catch (RecognitionException pe) {				synPredMatched552 = false;			}			rewind(_m552);			inputState.guessing--;		}		if ( synPredMatched552 ) {			AST tmp161_AST = null;			tmp161_AST = astFactory.create(LT(1));			astFactory.makeASTRoot(currentAST, tmp161_AST);			match(LITERAL_item);			match(LPAREN);			match(RPAREN);			itemType_AST = (AST)currentAST.root;		}		else {			boolean synPredMatched554 = false;			if (((_tokenSet_3.member(LA(1))))) {				int _m554 = mark();				synPredMatched554 = true;				inputState.guessing++;				try {					{					matchNot(EOF);					match(LPAREN);					}				}				catch (RecognitionException pe) {					synPredMatched554 = false;				}				rewind(_m554);				inputState.guessing--;			}			if ( synPredMatched554 ) {				kindTest();				astFactory.addASTChild(currentAST, returnAST);				itemType_AST = (AST)currentAST.root;			}			else if ((_tokenSet_1.member(LA(1)))) {				atomicType();				astFactory.addASTChild(currentAST, returnAST);				itemType_AST = (AST)currentAST.root;			}			else {				throw new NoViableAltException(LT(1), getFilename());			}			}			returnAST = itemType_AST;		}