SVNDebugLog.log(new Exception());
    private SVNURL(String url, boolean uriEncoded) throws SVNException {        if (url == null) {            SVNDebugLog.log(new Exception());            SVNErrorManager.error("svn: invalid URL '" + url + "'");        }        if (url.endsWith("/")) {            url = url.substring(0, url.length() - 1);        }        int index = url.indexOf("://");        if (index <= 0) {            SVNErrorManager.error("svn: invalid URL '" + url + "'");        }        myProtocol = url.substring(0, index);        myProtocol = myProtocol.toLowerCase();        if (!DEFAULT_PORTS.containsKey(myProtocol)) {            SVNErrorManager.error("svn: invalid URL '" + url + "': protocol '" + myProtocol + "' is not supported");        }        String testURL = "http" + url.substring(index);        URL httpURL;        try {            httpURL = new URL(testURL);        } catch (MalformedURLException e) {            SVNErrorManager.error("svn: invalid URL '" + url + "': " + e.getMessage());            return;        }        myHost = httpURL.getHost();        if (uriEncoded) {            myEncodedPath = httpURL.getPath();            myPath = SVNEncodingUtil.uriDecode(myEncodedPath);        } else {            myPath = httpURL.getPath();            myEncodedPath = SVNEncodingUtil.uriEncode(myPath);        }        myUserName = httpURL.getUserInfo();        myPort = httpURL.getPort();        myIsDefaultPort = myPort < 0;        if (myPort < 0) {            Integer defaultPort = (Integer) DEFAULT_PORTS.get(myProtocol);            myPort = defaultPort.intValue();        }     }