info.fStatus= a.getStatus();
	protected ElementInfo createElementInfo(Object element) throws CoreException {				if ( !(element instanceof IFileEditorInput))			return super.createElementInfo(element);					IFileEditorInput input= (IFileEditorInput) element;		ICompilationUnit original= createCompilationUnit(input.getFile());		if (original != null) {							try {								IProgressMonitor monitor= new NullProgressMonitor();								try {					input.getFile().refreshLocal(IResource.DEPTH_INFINITE, monitor);				} catch (CoreException x) {					handleCoreException(x, JavaEditorMessages.getString("CompilationUnitDocumentProvider.error.createElementInfo")); //$NON-NLS-1$				}								IAnnotationModel m= createCompilationUnitAnnotationModel(input);				IProblemRequestor r= m instanceof IProblemRequestor ? (IProblemRequestor) m : null;				ICompilationUnit c= (ICompilationUnit) original.getSharedWorkingCopy(monitor, fBufferFactory, r);								DocumentAdapter a= null;				try {					a= (DocumentAdapter)c.getBuffer();				} catch (ClassCastException cce) {					IStatus status= new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, JavaStatusConstants.TEMPLATE_IO_EXCEPTION, "Shared working copy has wrong buffer", cce); //$NON-NLS-1$					throw new CoreException(status);				}								_FileSynchronizer f= new _FileSynchronizer(input); 				f.install();								CompilationUnitInfo info= new CompilationUnitInfo(a.getDocument(), m, f, c);				info.setModificationStamp(computeModificationStamp(input.getFile()));								if (r instanceof IProblemRequestorExtension) {					IProblemRequestorExtension extension= (IProblemRequestorExtension) r;					extension.setIsActive(isHandlingTemporaryProblems());				}								return info;							} catch (JavaModelException x) {				throw new CoreException(x.getStatus());			}		} else {					return super.createElementInfo(element);		}	}