} else if (SVNProviderPlugin.getPlugin().isAdminDirectory(resource.getName())) { if (handleSVNDir((IContainer)resource, delta.getKind())) { return false; }
	public void resourceChanged(IResourceChangeEvent event) {		try {			final List modifiedResources = new ArrayList();			final List modifiedInfiniteDepthResources = new ArrayList();			event.getDelta().accept(new IResourceDeltaVisitor() {				public boolean visit(IResourceDelta delta) {					IResource resource = delta.getResource();					if (resource.getType()==IResource.FILE) {						if (delta.getKind() == IResourceDelta.CHANGED && resource.exists()) {							if((delta.getFlags() & INTERESTING_CHANGES) != 0) {								modifiedResources.add(resource);								return true;							}						} else if (delta.getKind() == IResourceDelta.ADDED) {							modifiedResources.add(resource);                        							return true;						} else if (delta.getKind() == IResourceDelta.REMOVED) {							// provide notifications for deletions since they may not have been managed							// The move/delete hook would have updated the parent counts properly							modifiedResources.add(resource);							return true;						}					}									else if(resource.getType()==IResource.FOLDER) {						if (delta.getKind() == IResourceDelta.ADDED) {							modifiedInfiniteDepthResources.add(resource);							if (SVNProviderPlugin.getPlugin().isAdminDirectory(resource.getName())) {								handleSVNDir((IContainer) resource, delta.getKind());							} else {								handleSVNDir(((IContainer) resource).getFolder(new Path(SVNProviderPlugin.getPlugin().getAdminDirectoryName())), delta.getKind());							}							return false;						}						else if (delta.getKind() == IResourceDelta.REMOVED) {							modifiedInfiniteDepthResources.add(resource);							return false;						} else if (SVNProviderPlugin.getPlugin().isAdminDirectory(resource.getName())) {							if (handleSVNDir((IContainer)resource, delta.getKind())) {								return false;							}						}						return true;					}									else if (resource.getType()==IResource.PROJECT) {						IProject project = (IProject)resource;						if (!project.isAccessible()) {							return false;						}						if ((delta.getFlags() & IResourceDelta.OPEN) != 0) {							return false;						} 						if (RepositoryProvider.getProvider(project, SVNProviderPlugin.getTypeId()) == null) {							return false; // not a svn handled project						}						if (delta.getKind() == IResourceDelta.ADDED) {							modifiedInfiniteDepthResources.add(resource);							return false;						}						else if (delta.getKind() == IResourceDelta.REMOVED) {							modifiedInfiniteDepthResources.add(resource);							return false;						}					}					return true;				}			});                        // we refresh all changed resources and broadcast the changes to all listeners (ex : SVNLightweightDecorator)			if (!modifiedResources.isEmpty()) {                IResource[] resources = (IResource[])modifiedResources.toArray(new IResource[modifiedResources.size()]);				refreshStatus(resources);                SVNProviderPlugin.broadcastModificationStateChanges(resources);			}			if (!modifiedInfiniteDepthResources.isEmpty()) {                IResource[] resources = (IResource[])modifiedInfiniteDepthResources.toArray(new IResource[modifiedInfiniteDepthResources.size()]);                refreshStatusInfitite(resources);                SVNProviderPlugin.broadcastModificationStateChanges(resources);			}		} catch (CoreException e) {			SVNProviderPlugin.log(e.getStatus());		}	}