final String workspacePath = absolutePath; if (matchTabsInPath(workspacePath, err)) { return; } final ISVNWorkspace workspace = createWorkspace(absolutePath); workspace.addWorkspaceListener(new SVNWorkspaceAdapter() { public void modified(String path, int kind) { try { path = convertPath(workspacePath, workspace, path); } catch (IOException e) {}  println(out, "A  " + path); } });  final String relativePath = SVNUtil.getWorkspacePath(workspace, absolutePath); workspace.add(relativePath, false, recursive);
DebugLog.log("adding path: " + absolutePath); wcClient.doAdd(new File(absolutePath), force, true, recursive);
    public final void run(final PrintStream out, PrintStream err) throws SVNException {        final boolean recursive = !getCommandLine().hasArgument(SVNArgument.NON_RECURSIVE);        for (int i = 0; i < getCommandLine().getPathCount(); i++) {            final String absolutePath = getCommandLine().getPathAt(i);            final String workspacePath = absolutePath;            if (matchTabsInPath(workspacePath, err)) {                return;            }            final ISVNWorkspace workspace = createWorkspace(absolutePath);            workspace.addWorkspaceListener(new SVNWorkspaceAdapter() {                public void modified(String path, int kind) {                    try {                        path = convertPath(workspacePath, workspace, path);                    } catch (IOException e) {}                    println(out, "A  " + path);                }            });            final String relativePath = SVNUtil.getWorkspacePath(workspace, absolutePath);            workspace.add(relativePath, false, recursive);        }    }