myCurrentDirectory = myCurrentDirectory.Parent;
    public void closeDir() throws SVNException {        if (myCurrentDirectory.IsAdded || myCurrentDirectory.IsContentsChanged || myCurrentDirectory.IsPropertiesChanged) {            SVNStatusType reposContentsStatus;            SVNStatusType reposPropStatus;            if (myCurrentDirectory.IsAdded) {                reposContentsStatus = SVNStatusType.STATUS_ADDED;                reposPropStatus = myCurrentDirectory.IsPropertiesChanged ? SVNStatusType.STATUS_MODIFIED : SVNStatusType.STATUS_NONE;            } else {                reposContentsStatus = myCurrentDirectory.IsContentsChanged ? SVNStatusType.STATUS_MODIFIED : SVNStatusType.STATUS_NONE;                reposPropStatus = myCurrentDirectory.IsPropertiesChanged ? SVNStatusType.STATUS_MODIFIED : SVNStatusType.STATUS_NONE;            }            if (myCurrentDirectory.Parent != null) {                myCurrentDirectory.Parent.tweakStatus(myCurrentDirectory.Path,                        SVNNodeKind.DIR, myCurrentDirectory.Name,                        reposContentsStatus, reposPropStatus, null, myCurrentDirectory.RemoteRevision, myCurrentDirectory.RemoteDate, myCurrentDirectory.RemoteAuthor);            } else if (myAnchorStatus != null && myTarget == null) {                // we are in the anchor.                myAnchorStatus.setRemoteStatus(myCurrentDirectory.getURL(), reposContentsStatus, reposPropStatus, null, SVNNodeKind.DIR, myCurrentDirectory.RemoteRevision,                        myCurrentDirectory.RemoteDate, myCurrentDirectory.RemoteAuthor);            }        }        if (myCurrentDirectory.Parent != null && myIsRecursive) {            boolean deleted = false;            SVNStatus dirStatus = (SVNStatus) myCurrentDirectory.Parent.ChildrenStatuses.get(myCurrentDirectory.Name);            if (dirStatus != null &&                     (dirStatus.getRemoteContentsStatus() == SVNStatusType.STATUS_DELETED || dirStatus.getRemoteContentsStatus() == SVNStatusType.STATUS_REPLACED)) {                deleted = true;            }            handleDirStatuses(myCurrentDirectory, deleted);            if (dirStatus != null) {                if (isSendableStatus(dirStatus)) {                    myHandler.handleStatus(dirStatus);                }            }            myCurrentDirectory.Parent.ChildrenStatuses.remove(myCurrentDirectory.Name);            myCurrentDirectory = myCurrentDirectory.Parent;        } else if (myCurrentDirectory.Parent == null) {            if (myTarget != null) {                SVNStatus targetStatus = (SVNStatus) myCurrentDirectory.ChildrenStatuses.get(myTarget);                if (targetStatus != null) {                    if (targetStatus.getURL() != null && targetStatus.getKind() == SVNNodeKind.DIR) {                        reportStatus(myWCAccess.getTarget(), null, true, myIsRecursive);                    }                    if (isSendableStatus(targetStatus)) {                        myHandler.handleStatus(targetStatus);                    }                }            } else {                handleDirStatuses(myCurrentDirectory, false);                if (myAnchorStatus != null && isSendableStatus(myAnchorStatus)) {                    myHandler.handleStatus(myAnchorStatus);                }                myAnchorStatus = null;            }            myCurrentDirectory = null;        } else {            myCurrentDirectory = myCurrentDirectory.Parent;        }    }