JavaModelUtil.reconcile(workingCopy);
synchronized(workingCopy) { workingCopy.reconcile(); }
	private void visitCompilationUnit(IFile file) throws JavaModelException {		ICompilationUnit cu= JavaCore.createCompilationUnitFrom(file);		if (cu != null) {			ICompilationUnit workingCopy= null;			try {				workingCopy= (ICompilationUnit) cu.getWorkingCopy();				JavaModelUtil.reconcile(workingCopy);				IPath packPath= file.getParent().getFullPath();				IPackageDeclaration[] decls= workingCopy.getPackageDeclarations();				String cuName= file.getName();				if (decls.length == 0) {					addToMap(fSourceFolders, packPath, new Path(cuName));				} else {					IPath relpath= new Path(decls[0].getElementName().replace('.', '/'));					IPath folderPath= getFolderPath(packPath, relpath);					if (folderPath != null) {						addToMap(fSourceFolders, folderPath, relpath.append(cuName));					}				}									} finally {				if (workingCopy != null) {					workingCopy.destroy();				}			}		}	}