public URI resolve(URI uri) {
public URI resolve(URI uri) { if (uri.isAbsolute()) return uri; if (uri.isOpaque()) return uri;  String scheme = uri.getScheme(); String schemeSpecificPart = uri.getSchemeSpecificPart(); String authority = uri.getAuthority(); String path = uri.getPath(); String query = uri.getQuery(); String fragment = uri.getFragment();  try { if (fragment != null && path != null && path.equals("") && scheme == null && authority == null && query == null) return new URI(this.scheme, this.schemeSpecificPart, fragment);  if (authority == null) { authority = this.authority; if (path == null) path = ""; if (! (path.startsWith("/"))) { StringBuffer basepath = new StringBuffer(this.path); int i = this.path.lastIndexOf('/');  if (i >= 0) basepath.delete(i + 1, basepath.length());  basepath.append(path); path = basepath.toString();   } } return new URI(this.scheme, authority, path, query, fragment); } catch (URISyntaxException e) {
	public URI resolve(URI uri) {		return null;	}