&& (myIsRecursive || Parent == null)) {
&& (myIsRecursive || Parent == null || (!myIsRecursive && Parent.Parent == null))) {
        public DirectoryInfo(DirectoryInfo parent, String path, boolean added) throws SVNException {            Parent = parent;            if (!"".equals(path)) {                Path = path;                Name = SVNPathUtil.tail(path);            } else {                Path = "";                Name = null;            }            IsAdded = added;            ChildrenStatuses = new HashMap();            SVNStatus parentStatus;            if (Parent != null) {                parentStatus = (SVNStatus) Parent.ChildrenStatuses.get(Name);            } else {                parentStatus = myAnchorStatus;            }            if (parentStatus != null) {                SVNStatusType pContent = parentStatus.getContentsStatus();                if (pContent != SVNStatusType.STATUS_UNVERSIONED                        && pContent != SVNStatusType.STATUS_DELETED                        && pContent != SVNStatusType.STATUS_MISSING                        && pContent != SVNStatusType.OBSTRUCTED                        && pContent != SVNStatusType.STATUS_EXTERNAL                        && parentStatus.getKind() == SVNNodeKind.DIR                        && (myIsRecursive || Parent == null)) {                    // put children statuses into this dir map.                    ISVNStatusHandler oldHandler = myHandler;                    boolean oldRecursive = myIsRecursive;                    boolean oldReportAll = myIsReportAll;                    boolean oldIncludeIgnored = myIsIncludeIgnored;                    SVNDirectory dir = myWCAccess.getDirectory(path);                    if (dir == null) {                        return;                    }                    myIsRecursive = false;                    myIsReportAll = true;                    myIsIncludeIgnored = true;                    myHandler = new ISVNStatusHandler() {                        public void handleStatus(SVNStatus status) {                            ChildrenStatuses.put(status.getFile().getName(), status);                        }                    };                    reportStatus(dir, null, true, false);                    myIsRecursive = oldRecursive;                    myIsIncludeIgnored = oldIncludeIgnored;                    myIsReportAll = oldReportAll;                    myHandler = oldHandler;                }            }            RemoteRevision = SVNRevision.UNDEFINED;        }