try { ast[0]= unit.reconcile(ASTProvider.AST_LEVEL, true, null, fProgressMonitor); } catch (JavaModelException ex) { handleException(ex);
try {   IProblemRequestorExtension extension= getProblemRequestorExtension(); if (extension != null) { extension.setProgressMonitor(fProgressMonitor); extension.setIsActive(true); }  try { boolean isASTNeeded= initialReconcile || JavaPlugin.getDefault().getASTProvider().isActive(unit);  synchronized (unit) { if (fIsJavaReconcilingListener && isASTNeeded) { ast[0]= unit.reconcile(ASTProvider.AST_LEVEL, true, null, fProgressMonitor); if (ast[0] != null) {  ASTNodes.setFlagsToAST(ast[0], ASTNode.PROTECT);
									public void run() {										try {											ast[0]= unit.reconcile(ASTProvider.AST_LEVEL, true, null, fProgressMonitor);										} catch (JavaModelException ex) {											handleException(ex);										}									}