IContainer dotSvnContainer = (IContainer)it.next(); IContainer container = dotSvnContainer.getParent();
IContainer container = ((IContainer) it.next()).getParent();
	public void resourceChanged(IResourceChangeEvent event) {		try {			final Set changedContainers = new HashSet();						event.getDelta().accept(new IResourceDeltaVisitor() {				public boolean visit(IResourceDelta delta) {					IResource resource = delta.getResource();										if(resource.getType()==IResource.ROOT) {						// continue with the delta						return true;					}										if (resource.getType() == IResource.PROJECT) {						// If the project is not accessible, don't process it						if (!resource.isAccessible()) return false;					}																				String name = resource.getName();					int kind = delta.getKind();										// if the file has changed but not in a way that we care					// then ignore the change (e.g. marker changes to files).					if(kind == IResourceDelta.CHANGED && 						(delta.getFlags() & INTERESTING_CHANGES) == 0) {							return true;					}										IResource toBeNotified = null;															if(name.equals(SVNConstants.SVN_DIRNAME)) {						handleSVNDir((IContainer)resource, kind);					}															if(isEntries(resource)) {						toBeNotified = handleChangedEntries(resource, kind);					} else					if(isDirProps(resource)) {						toBeNotified = handleChangedDirProps(resource, kind);					} else					if(isPropFile(resource)) {						toBeNotified = handleChangedPropFile(resource, kind);					}					                    if(toBeNotified != null) {    						changedContainers.add(toBeNotified);													if(Policy.DEBUG_METAFILE_CHANGES) {							System.out.println("[svn] metafile changed : " + resource.getFullPath()); //$NON-NLS-1$						}						return false; /*don't visit any children we have all the information we need*/					} else {											return true;					}				}			}, IContainer.INCLUDE_TEAM_PRIVATE_MEMBERS);							if(!changedContainers.isEmpty()) {                for (Iterator it = changedContainers.iterator(); it.hasNext();){                    IContainer dotSvnContainer = (IContainer)it.next();                    IContainer container = dotSvnContainer.getParent();                                        // we update the members. Refresh can be useful in case of revert etc ...                    dotSvnContainer.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());                    ISVNLocalFolder svnContainer = (ISVNLocalFolder)SVNWorkspaceRoot.getSVNResourceFor(container);                    svnContainer.refreshStatus(IResource.DEPTH_ONE);                                        // the resources that have potentially changed are the members of the folder                    // and the folder itself                    IResource[] members = container.members(true);                    IResource[] resources = new IResource[members.length+1];                    resources[0] = container;                    System.arraycopy(members,0,resources,1,members.length);                                        SVNProviderPlugin.broadcastSyncInfoChanges(resources);                }                			}					} catch(CoreException e) {			SVNProviderPlugin.log(e.getStatus());        }	}