ArrayList removedFrameworks = ( ArrayList) removedFrameworksProjectDict .get( projectToExamine);
	public final void elementChanged(ElementChangedEvent event) {		/*if (ElementChangedEvent.POST_CHANGE != event.getType())			return;*/		if (event.getDelta().getElement().getElementType()			!= IJavaElement.JAVA_MODEL)			return;		IJavaElementDelta elementDeltaToExamine = event.getDelta();		ArrayList foundChangedElements = new ArrayList();		HashMap addedFrameworksProjectDict = new HashMap();		HashMap removedFrameworksProjectDict = new HashMap();		boolean javaProjectChanges = false;		// java model has changed - get affected webobjects projects		for (int i = 0;			i < elementDeltaToExamine.getChangedChildren().length;			i++) {			// examine changed children if they are webobjects projects			if (elementDeltaToExamine				.getChangedChildren()[i]				.getElement()				.getElementType()				== IJavaElement.JAVA_PROJECT) {				IProject projectToExamine =					((IJavaProject) elementDeltaToExamine						.getChangedChildren()[i]						.getElement())						.getProject();				if (!projectToExamine.exists()					|| !projectToExamine.isAccessible()) {					// project deleted no further investigatin needed					continue;				}				if (!searchDeltasForElementType(elementDeltaToExamine					.getChangedChildren()[i]					.getChangedChildren(),					IJavaElement.PACKAGE_FRAGMENT_ROOT,					foundChangedElements))					continue;				javaProjectChanges = true;				IWOLipsProject woLipsProject = null;				try {					woLipsProject = WOLipsCore.createProject(projectToExamine);					if (woLipsProject.getNaturesAccessor().hasWOLipsNature()) {						UpdateOtherClasspathIncludeFiles updateOtherClasspathIncludeFiles =							new UpdateOtherClasspathIncludeFiles();						updateOtherClasspathIncludeFiles.setIProject(							projectToExamine);						updateOtherClasspathIncludeFiles.execute();						UpdateFrameworkIncludeFiles updateFrameworkIncludeFiles =							new UpdateFrameworkIncludeFiles();						updateFrameworkIncludeFiles.setIProject(							projectToExamine);						updateFrameworkIncludeFiles.execute();						if (!Preferences.getPREF_PBWO_PROJECT_UPDATE()) {							addedFrameworksProjectDict.put(								projectToExamine,								new ArrayList());							removedFrameworksProjectDict.put(								projectToExamine,								new ArrayList());							// webobjects project changed 							ArrayList foundElements = new ArrayList();							// search deltas for classpath changes							searchDeltas(								elementDeltaToExamine									.getChangedChildren()[i]									.getChangedChildren(),								IJavaElementDelta.F_ADDED_TO_CLASSPATH,								foundElements);							IPackageFragmentRoot currentPackageFragmentRoot;							for (int j = 0; j < foundElements.size(); j++) {								currentPackageFragmentRoot =									(IPackageFragmentRoot) foundElements.get(j);								ArrayList addedFrameworks =									(ArrayList) addedFrameworksProjectDict.get(										projectToExamine);								addedFrameworks.add(									currentPackageFragmentRoot										.getRawClasspathEntry()										.getPath());								/*								WOProjectFileUpdater.addFrameworkToPBFile(									currentPackageFragmentRoot										.getRawClasspathEntry()										.getPath(),									WOProjectFileUpdater										.projectFileFromParentResource(										projectToExamine),									null);									*/							}							foundElements = new ArrayList();							// search deltas for classpath changes							searchDeltas(								elementDeltaToExamine									.getChangedChildren()[i]									.getChangedChildren(),								IJavaElementDelta.F_REMOVED_FROM_CLASSPATH,								foundElements);							for (int j = 0; j < foundElements.size(); j++) {								currentPackageFragmentRoot =									(IPackageFragmentRoot) foundElements.get(j);								ArrayList removedFrameworks =									(										ArrayList) removedFrameworksProjectDict											.get(										projectToExamine);								removedFrameworks.add(									new Path(										currentPackageFragmentRoot											.getElementName()));								/*								WOProjectFileUpdater								.removeFrameworkFromPBFile(								new Path(								currentPackageFragmentRoot									.getElementName()),								WOProjectFileUpdater								.projectFileFromParentResource(								projectToExamine),								null);								*/							}						}					}				} catch (CoreException e) {					WOLipsLog.log(e);				}			}		}		if (javaProjectChanges)			// update project files			updateProjects(				addedFrameworksProjectDict,				removedFrameworksProjectDict);	}