SVNRevision srcRevision = revision == null || revision.getKind() == Revision.Kind.unspecified ?
SVNRevision srcRevision = revision == null || revision.getKind() == RevisionKind.unspecified ?
    public void copy(String srcPath, String destPath, String message, Revision revision) throws ClientException {        SVNCopyClient client = getSVNCopyClient();        try {            if(isURL(srcPath)){                SVNRevision srcRevision = revision == null || revision.getKind() == Revision.Kind.unspecified ?                        SVNRevision.HEAD : SVNConverterUtil.getSVNRevision(revision);                if(isURL(destPath)){                    // url->url copy                    client.doCopy(srcPath, SVNRevision.UNDEFINED, srcRevision,                            destPath, SVNRevision.UNDEFINED, false, message);                }else{                    // url->wc copy                    client.doCopy(srcPath, SVNRevision.UNDEFINED, srcRevision,                            new File(destPath), SVNRevision.UNDEFINED, SVNRevision.WORKING, false, null);                }            }else{                SVNRevision srcRevision = revision == null || revision.getKind() == Revision.Kind.unspecified ?                        SVNRevision.WORKING : SVNConverterUtil.getSVNRevision(revision);                if(isURL(destPath)){                    // wc->url copy                    client.doCopy(new File(srcPath).getAbsoluteFile(), SVNRevision.UNDEFINED, srcRevision,                            destPath, SVNRevision.UNDEFINED, false, message);                }else{                    // wc->wc copy                     client.doCopy(new File(srcPath).getAbsoluteFile(), SVNRevision.UNDEFINED, srcRevision,                            new File(destPath), SVNRevision.UNDEFINED, SVNRevision.WORKING, false, false, null);                }            }        } catch (SVNException e) {            throwException(e);        }    }