removedFrameworks.add( new Path( currentPackageFragmentRoot .getElementName()));
IPath rawClasspathEntryPath = currentPackageFragmentRoot.getPath();   removedFrameworks.add(rawClasspathEntryPath);
	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;							ArrayList addedFrameworks =								(ArrayList) addedFrameworksProjectDict.get(									projectToExamine);							for (int j = 0; j < foundElements.size(); j++) {								currentPackageFragmentRoot =									(IPackageFragmentRoot) foundElements.get(j);								addedFrameworks.add(									currentPackageFragmentRoot										.getRawClasspathEntry()										.getPath());							}							/*							IProject[] referencedProjects =								projectToExamine.getReferencedProjects();							for (int j = 0;								j < referencedProjects.length;								j++) {								IWOLipsProject referencedWOLipsProject =									WOLipsCore.createProject(										referencedProjects[j]);								if (referencedWOLipsProject != null									&& referencedWOLipsProject										.getNaturesAccessor()										.hasWOLipsNature()									&& referencedWOLipsProject										.getNaturesAccessor()										.isFramework())									addedFrameworks.add(new Path(referencedWOLipsProject.getProject().getName() + "." + IWOLipsPluginConstants.EXT_FRAMEWORK));							}*/							foundElements = new ArrayList();							// search deltas for classpath changes							searchDeltas(								elementDeltaToExamine									.getChangedChildren()[i]									.getChangedChildren(),								IJavaElementDelta.F_REMOVED_FROM_CLASSPATH,								foundElements);							ArrayList removedFrameworks =																(																	ArrayList) removedFrameworksProjectDict																		.get(																	projectToExamine);							for (int j = 0; j < foundElements.size(); j++) {								currentPackageFragmentRoot =									(IPackageFragmentRoot) foundElements.get(j);																removedFrameworks.add(									new Path(										currentPackageFragmentRoot											.getElementName()));							}						}					}				} catch (CoreException e) {					WOLipsLog.log(e);				}			}		}		if (javaProjectChanges)			// update project files			updateProjects(				addedFrameworksProjectDict,				removedFrameworksProjectDict);	}