DebugLog.log("this entry will not be added: " + entry.getName());
    private void addDirectory(SVNWCAccess wcAccess, SVNDirectory dir,            String name, boolean force) throws SVNException {        DebugLog.log("ading file " + name + " into " + dir.getRoot());        if (dir.add(name, false, force) == null) {            return;        }        File file = dir.getFile(name);        SVNDirectory childDir = dir.getChildDirectory(name);        if (childDir == null) {            return;        }        File[] children = file.listFiles();        for (int i = 0; children != null && i < children.length; i++) {            File childFile = children[i];            if (getOptions().isIgnored(childFile.getName())) {                continue;            }            if (".svn".equals(childFile.getName())) {                continue;            }            DebugLog.log("processing file " + childFile + " in " + file);            SVNFileType fileType = SVNFileType.getType(childFile);            if (fileType == SVNFileType.FILE || fileType == SVNFileType.SYMLINK) {                SVNEntry entry = childDir.getEntries().getEntry(                        childFile.getName(), true);                DebugLog.log("existing entry: " + entry);                if (force && entry != null && !entry.isScheduledForDeletion()                        && !entry.isDeleted()) {                    DebugLog.log("this entry will not be added: "                            + entry.getName());                    continue;                }                addSingleFile(childDir, childFile.getName());            } else if (SVNFileType.DIRECTORY == fileType) {                DebugLog.log("recursing into " + childFile.getName());                addDirectory(wcAccess, childDir, childFile.getName(), force);            }        }    }