if (isClassPathChange(delta)) { Object input= fViewer.getInput(); if (input != null) { if (fInputIsProject && input.equals(element.getJavaProject())) { postRefresh(input); return; } else if (!fInputIsProject && input.equals(element)) { if (element.exists()) postRefresh(input); else postRemove(element); return; } } }
	protected void processDelta(IJavaElementDelta delta) throws JavaModelException {		int kind= delta.getKind();		final IJavaElement element= delta.getElement();		if (element instanceof IPackageFragment) {			final IPackageFragment frag= (IPackageFragment) element;			if (kind == IJavaElementDelta.REMOVED) {				removeElement(frag);			} else if (kind == IJavaElementDelta.ADDED) {				addElement(frag);			} else if (kind == IJavaElementDelta.CHANGED) {				//just refresh 				Object toBeRefreshed= element;				IPackageFragment pkgFragment= (IPackageFragment) element;				LogicalPackage logicalPkg= findLogicalPackage(pkgFragment);				//deal with packages that have been filtered and are now visible				if (logicalPkg != null)					toBeRefreshed= findElementToRefresh(logicalPkg);				else					toBeRefreshed= findElementToRefresh(pkgFragment);				postRefresh(toBeRefreshed);			}			//in this view there will be no children of PackageFragment to refresh			return;		}		processAffectedChildren(delta);	}