} return self;
	public final JCompilationUnit  jCompilationUnit(			) throws RecognitionException, TokenStreamException {		JCompilationUnit self = null;						JPackageName			pack;		CParseCompilationUnitContext	context = CParseCompilationUnitContext.getInstance();		TokenReference		sourceRef = buildTokenReference();						pack=jPackageDeclaration();		if ( inputState.guessing==0 ) {			context.setPackage(pack);		}		jImportDeclarations(context);		{		_loop3:		do {			if ((_tokenSet_0.member(LA(1)))) {				jTypeDefinition(context);			}			else {				break _loop3;			}					} while (true);		}		match(Token.EOF_TYPE);		if ( inputState.guessing==0 ) {						self = new JCompilationUnit(sourceRef,							  pack,							  context.getPackageImports(),							  context.getClassImports(),							  context.getTypeDeclarations());			context.release();					}		return self;	}