ISVNStatus status = statuses[i]; ResourceInfo changedResource = workspace.getResourceInfo(SVNWorkspaceRoot.pathForLocation(new Path(status.getPath())), true, false);
ISVNStatus status = statuses[i]; ResourceInfo changedResource = SVNWorkspaceRoot.getResourceInfoFor(SVNWorkspaceRoot.pathForLocation(new Path(status.getPath())));
    private InformedStatus[] collectInformedStatuses(ISVNStatus[] statuses)    {        Workspace workspace = (Workspace) ResourcesPlugin.getWorkspace();        Set containerSet = new HashSet();        List allStatuses = new ArrayList();        Arrays.sort(statuses, new Comparator() {			public int compare(Object o1, Object o2) {				return ((ISVNStatus) o1).getPath().compareTo(((ISVNStatus) o2).getPath());			}            	        });        //Collect changed resources (in reverse order so dirs are properly identified        for (int i = statuses.length - 1; i >= 0; i--) {            ISVNStatus status = statuses[i];            ResourceInfo changedResource = workspace.getResourceInfo(SVNWorkspaceRoot.pathForLocation(new Path(status.getPath())), true, false);            InformedStatus informedStatus = new InformedStatus(status, changedResource);            if ( SVNNodeKind.UNKNOWN  == status.getNodeKind() )             {                if( changedResource != null )                {                	if (IResource.FILE == changedResource.getType())                	{                		informedStatus.setInformedKind(SVNNodeKind.FILE);                	}                	else if(IResource.FILE == changedResource.getType())                	{                		informedStatus.setInformedKind(SVNNodeKind.DIR);                		                	}                }                else                {                	// check whether the resource path was not already added as parent of a previous resource.                	// if it was then it is pretty clear that it is directory ...                	if( containerSet.contains( status.getPath() ) )                	{                		informedStatus.setInformedKind(SVNNodeKind.DIR);                		                	}                }            }            containerSet.add(status.getPath().substring(0,status.getPath().lastIndexOf('/')));                                allStatuses.add(informedStatus);        }                InformedStatus[] result = new InformedStatus[allStatuses.size()];        int i= 0;        //In reverse-reverse order so dir syncInfos are created sooner then files ...        for (ListIterator iter = allStatuses.listIterator(allStatuses.size()); iter.hasPrevious(); i++) {        	result[i] = (InformedStatus) iter.previous();		}                return result;    }