} else { return SVNStatusType.OBSTRUCTED;
    public SVNStatusType directoryAdded(String path, Map entryProps, long revision) throws SVNException {        SVNDirectory parentDir = getParentDirectory(path);        if (parentDir == null) {            if (myIsDryRun && myAddedPath != null                    && path.startsWith(myAddedPath)) {                return SVNStatusType.CHANGED;            }            return SVNStatusType.MISSING;        }        String name = SVNPathUtil.tail(path);        File file = parentDir.getFile(name);        if (!file.exists()) {            SVNEntry entry = parentDir.getEntries().getEntry(name, true);            if (entry != null && !entry.isScheduledForDeletion()) {                // missing entry.                return SVNStatusType.OBSTRUCTED;            }            if (!myIsDryRun) {                file.mkdirs();                String url = SVNPathUtil.append(myURL, SVNEncodingUtil.uriEncode(getPathInURL(path)));                addDirectory(parentDir, name, url, myTargetRevision, entryProps);            } else {                myAddedPath = path + "/";            }            return SVNStatusType.CHANGED;        } else if (file.isDirectory()) {            SVNEntry entry = parentDir.getEntries().getEntry(name, true);            if (entry == null || entry.isScheduledForDeletion()) {                if (myIsDryRun) {                    myAddedPath = path + "/";                } else {                    String url = SVNPathUtil.append(myURL, SVNEncodingUtil.uriEncode(getPathInURL(path)));                    addDirectory(parentDir, name, url, myTargetRevision,                            entryProps);                }                return SVNStatusType.CHANGED;            } else {                return SVNStatusType.OBSTRUCTED;            }        } else if (file.isFile()) {            if (myIsDryRun) {                myAddedPath = null;            }            return SVNStatusType.OBSTRUCTED;        }        return SVNStatusType.MISSING;    }