ICompilationUnit unit= fManager.getWorkingCopy(fEditor.getEditorInput()); if (unit != null) {
CompilationUnit ast= null; try { ICompilationUnit unit= fManager.getWorkingCopy(fEditor.getEditorInput()); if (unit != null) { try {   IProblemRequestorExtension extension= getProblemRequestorExtension(); if (extension != null) extension.setProgressMonitor(fProgressMonitor);  try {  synchronized (unit) { if (fIsJavaReconcilingListener) ast= unit.reconcile(true, true, null, fProgressMonitor); else unit.reconcile(false, true, null, fProgressMonitor); } } catch (OperationCanceledException ex) { Assert.isTrue(fProgressMonitor == null || fProgressMonitor.isCanceled()); ast= null; }   if (extension != null) extension.setProgressMonitor(null);   } catch (JavaModelException x) {  } } } finally {
	private void reconcile() {		ICompilationUnit unit= fManager.getWorkingCopy(fEditor.getEditorInput());				if (unit != null) {			try {								/* fix for missing cancel flag communication */				IProblemRequestorExtension extension= getProblemRequestorExtension();				if (extension != null)					extension.setProgressMonitor(fProgressMonitor);								CompilationUnit ast= null;								try {					// reconcile					synchronized (unit) {						if (fIsJavaReconcilingListener)							ast= unit.reconcile(true, true, null, fProgressMonitor);						else							unit.reconcile(false, true, null, fProgressMonitor);					}				} catch (OperationCanceledException ex) {					Assert.isTrue(fProgressMonitor == null || fProgressMonitor.isCanceled());					ast= null;				}								/* fix for missing cancel flag communication */				if (extension != null)					extension.setProgressMonitor(null);								// notify listeners				try {					if (fIsJavaReconcilingListener && fNotify && (fProgressMonitor == null || !fProgressMonitor.isCanceled()))						fJavaReconcilingListener.reconciled(ast);				} finally {					fNotify= true;				}							} catch (JavaModelException x) {				// swallow exception			}		}	}