IResourceDelta[] affectedChildren= delta.getAffectedChildren();
	private void processResourceDelta(IResourceDelta delta, Object parent) {		int status= delta.getKind();		IResource resource= delta.getResource();		// filter out changes affecting the output folder		if (resource == null) 			return;					// this could be optimized by handling all the added children in the parent		if ((status & IResourceDelta.REMOVED) != 0) {			if (parent instanceof IPackageFragment) 				// refresh one level above to deal with empty package filtering properly				postRefresh(internalGetParent(parent));			else 				postRemove(resource);		}		if ((status & IResourceDelta.ADDED) != 0) {			if (parent instanceof IPackageFragment) 				// refresh one level above to deal with empty package filtering properly				postRefresh(internalGetParent(parent));			else				postAdd(parent, resource);		}		IResourceDelta[] affectedChildren= delta.getAffectedChildren();				if (affectedChildren.length > 1) {			// more than one child changed, refresh from here downwards			postRefresh(resource);			return;		}		for (int i= 0; i < affectedChildren.length; i++)			processResourceDelta(affectedChildren[i], resource);	}