if (projectFileToUpdate.getParent().getParent() == null)
if (projectFileToUpdate.getParent().getType() == IResource.PROJECT)
	public final void resourceChanged(IResourceChangeEvent event) {		if (!Preferences.getPREF_PBWO_PROJECT_UPDATE())			return;		//System.out.println("******* resourceChanged begin ");		ProjectFileResourceValidator resourceValidator =			new ProjectFileResourceValidator();		try {			event.getDelta().accept(resourceValidator);		} catch (CoreException e) {			WOLipsLog.log(e);		}		// update project files		IFile projectFileToUpdate;		PBProjectUpdater projectUpdater;		Object[] allAddedKeys =			resourceValidator.getAddedResourcesProjectDict().keySet().toArray();		for (int i = 0; i < allAddedKeys.length; i++) {			projectFileToUpdate = (IFile) allAddedKeys[i];			projectUpdater =				PBProjectUpdater.instance(projectFileToUpdate.getParent());			if (projectFileToUpdate.getParent().getParent() == null)				projectUpdater.syncProjectName();			projectUpdater.syncFilestable(				(HashMap) resourceValidator.getAddedResourcesProjectDict().get(					projectFileToUpdate),				IResourceDelta.ADDED);		}		Object[] allRemovedKeys =			resourceValidator				.getRemovedResourcesProjectDict()				.keySet()				.toArray();		for (int i = 0; i < allRemovedKeys.length; i++) {			projectFileToUpdate = (IFile) allRemovedKeys[i];			// ensure project file container exists			// if no container exists the whole project is deleted			if (projectFileToUpdate.getParent().exists()) {				projectUpdater =					PBProjectUpdater.instance(projectFileToUpdate.getParent());				projectUpdater.syncFilestable(					(HashMap) resourceValidator						.getRemovedResourcesProjectDict()						.get(						projectFileToUpdate),					IResourceDelta.REMOVED);			}		}	}