code: public void resourceChanged(IResourceChangeEvent event) {
  		HashSet<IResource> changedElements= new HashSet<IResource>();
  
  		try {
  			IResourceDelta delta= event.getDelta();
  			if (delta != null)
  				delta.accept(new ProjectErrorVisitor(changedElements));
  		} catch (CoreException e) {
  			VdmUIPlugin.printe(e);
  		}
  
  		if (!changedElements.isEmpty()) {
  			boolean hasChanges= false;
  			synchronized (this) {
  				if (fResourcesWithMarkerChanges.isEmpty()) {
  					fResourcesWithMarkerChanges= changedElements;
  					hasChanges= true;
  				} else {
  					hasChanges= fResourcesWithMarkerChanges.addAll(changedElements);
  				}
  			}
  			if (hasChanges) {
  				fireChanges();
  			}
  		}
  	}
docs: /*
  @see IResourceChangeListener#resourceChanged