private void processDelta(IJavaElementDelta delta) throws JavaModelException {
protected void processDelta(IJavaElementDelta delta) throws JavaModelException {
	private 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;				if (element instanceof IPackageFragment) {					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);	}