DebugLog.log("creating managed status: " + child.getPath() + " added: " + history);
    private static SVNStatus createManagedStatus(String parentURL, ISVNEntry child) throws SVNException {        boolean isDirectory = child.isDirectory();        int propStatus = SVNStatus.NOT_MODIFIED;        int contentsStatus = SVNStatus.NOT_MODIFIED;                // may be prop-modified (dir or file).        if (child.isPropertiesModified()) {            propStatus = SVNStatus.MODIFIED;        }        // may be prop-conflict (dir or file)        if (child.getPropertyValue(SVNProperty.PROP_REJECT_FILE) != null) {            propStatus = SVNStatus.CONFLICTED;        }        boolean switched = false;        if (child.isMissing()) {            // may be missed (dir or file).            contentsStatus = SVNStatus.MISSING;        } else if (child.isObstructed()) {            contentsStatus = SVNStatus.OBSTRUCTED;        } else if (child.isScheduledForAddition()) {            // may be added (copied) or deleted (dir or file).            contentsStatus = SVNStatus.ADDED;            if (child.isScheduledForDeletion()) {                contentsStatus = SVNStatus.REPLACED;            }        } else if (child.isScheduledForDeletion()) {            // may be deleted            contentsStatus = SVNStatus.DELETED;        } else if (!isDirectory) {            // may be conflicted (file)            if (child.getPropertyValue(SVNProperty.CONFLICT_OLD) != null ||                     child.getPropertyValue(SVNProperty.CONFLICT_NEW) != null ||                    child.getPropertyValue(SVNProperty.CONFLICT_WRK) != null) {                contentsStatus = SVNStatus.CONFLICTED;            } else if (child.asFile().isContentsModified()) {                // may be modified (file)                contentsStatus = SVNStatus.MODIFIED;            }        }          if (contentsStatus == SVNStatus.ADDED || contentsStatus == SVNStatus.DELETED) {            propStatus = SVNStatus.NOT_MODIFIED;                    }        if (SVNReporterBaton.isSwitched(parentURL, child)) {            switched = true;        }        boolean history = SVNProperty.booleanValue(child.getPropertyValue(SVNProperty.COPIED));        long revision = SVNProperty.longValue(child.getPropertyValue(SVNProperty.COMMITTED_REVISION));        long wcRevision = SVNProperty.longValue(child.getPropertyValue(SVNProperty.REVISION));        String author = child.getPropertyValue(SVNProperty.LAST_AUTHOR);        SVNLock lock = createSVNLock(child);        SVNStatus status = new SVNStatus(child.getPath(), propStatus, contentsStatus, revision, wcRevision, history, switched, isDirectory, author, lock);        if (child.getPropertyValue(SVNProperty.INCOMPLETE) != null) {            status.setIncomplete(true);        }        if (child.isDirectory()) {            FSDirEntry dirEntry = (FSDirEntry) child;            File dir = dirEntry.getIOFile();            status.setLocked(new File(dir, ".svn/lock").isFile());        }        return status;    }