}
	protected FileInfo createFileInfo(Object element) throws CoreException {		if (!(element instanceof IFileEditorInput))			return null;					IFileEditorInput input= (IFileEditorInput) element;		ICompilationUnit original= createCompilationUnit(input.getFile());		if (original == null)			return null;				FileInfo info= super.createFileInfo(element);		if (!(info instanceof CompilationUnitInfo))			return null;					CompilationUnitInfo cuInfo= (CompilationUnitInfo) info;					IProblemRequestor requestor= cuInfo.fModel instanceof IProblemRequestor ? (IProblemRequestor) cuInfo.fModel : null;		if (JavaPlugin.USE_WORKING_COPY_OWNERS)  {			original.becomeWorkingCopy(requestor, getProgressMonitor());			cuInfo.fCopy= original;		} else  {			cuInfo.fCopy= (ICompilationUnit) original.getSharedWorkingCopy(getProgressMonitor(), JavaPlugin.getDefault().getBufferFactory(), requestor);		}				if (cuInfo.fModel instanceof CompilationUnitAnnotationModel)   {			CompilationUnitAnnotationModel model= (CompilationUnitAnnotationModel) cuInfo.fModel;			model.setCompilationUnit(cuInfo.fCopy);		} else if (cuInfo.fModel != null) {			cuInfo.fModel.addAnnotationModelListener(fGlobalAnnotationModelListener);		}				if (requestor instanceof IProblemRequestorExtension) {			IProblemRequestorExtension extension= (IProblemRequestorExtension) requestor;			extension.setIsActive(isHandlingTemporaryProblems());		}				return cuInfo;	}