protected void parseURL(URL url, String url_string, int start, int end) {    String file = url.getFile();
protected void parseURL (URL url, String url_string, int start, int end) {    String file = url.getFile();  if (!file.equals("")) { url_string = url_string.substring (start, end); if (url_string.startsWith("/")) { int idx = file.lastIndexOf ("!/");  if (idx < 0) throw new URLParseError("no !/ in spec");  file = file.substring (0, idx + 1) + url_string; } else { int idx = file.lastIndexOf ("/"); if (idx == -1) file = "/" + url_string; else if (idx == (file.length() - 1))  file = file + url_string; else    file = file.substring(0, idx + 1) + url_string; }  setURL (url, "jar", url.getHost(), url.getPort(), file, null); return; }
	protected void parseURL(URL url, String url_string, int start, int end) {		// This method does not throw an exception or return a value.  Thus our		// strategy when we encounter an error in parsing is to return without		// doing anything.		String file = url.getFile();		if (file != null && file != "") { //has context url			url_string = url_string.substring(start, end);			if (url_string.startsWith("/")) { //url string is an absolute path				int idx = file.lastIndexOf("!/");				if (idx == -1) //context path is weird					file = file + "!" + url_string;				else					file = file.substring(0, idx + 1) + url_string;			} else {				int idx = file.lastIndexOf("/");				if (idx == -1) //context path is weird					file = "/" + url_string;				else if (idx == (file.length() - 1))					//just concatenate two parts					file = file + url_string;				else					// according to Java API Documentation, here is a little different 					// with URLStreamHandler.parseURL					// but JDK seems doesn't handle it well					file = file + "/" + url_string;			}			setURL(url, "jar", url.getHost(), url.getPort(), file, null);			return;		}		// Bunches of things should be true.  Make sure.		if (end < start)			return;		if (end - start < 2)			return;		if (start > url_string.length())			return;		// Skip remains of protocol		url_string = url_string.substring(start, end);		if (!url.getProtocol().equals("jar"))			return;		setURL(url, "jar", url.getHost(), url.getPort(), url_string, null);	}