if(computeDeepDirtyCheck) { IResource current = resource; while (current.getType() != IResource.ROOT) { resourcesToUpdate.add(current); current = current.getParent(); } } else { resourcesToUpdate.add(resource); }
if (resource.exists()) { if(computeDeepDirtyCheck) { IResource current = resource; while (current.getType() != IResource.ROOT) { resourcesToUpdate.add(current); current = current.getParent(); } } else { resourcesToUpdate.add(resource); } }
	public void resourceStateChanged(IResource[] changedResources) {		// add depth first so that update thread processes parents first.		//System.out.println(">> State Change Event");		List resourcesToUpdate = new ArrayList();		for (int i = 0; i < changedResources.length; i++) {			IResource resource = changedResources[i];			if(computeDeepDirtyCheck) {              IResource current = resource;              while (current.getType() != IResource.ROOT) {                  resourcesToUpdate.add(current);                  current = current.getParent();              }                			} else {				resourcesToUpdate.add(resource);			}		}		postLabelEvent(new LabelProviderChangedEvent(this, resourcesToUpdate.toArray()));	}