return null;
throw (Error) new InternalError("Resolved URI variant could not "+ "be constructed").initCause(e);
  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();		//  FIXME We must normalize the path here.		//  Normalization process omitted.	      }	  }	return new URI(this.scheme, authority, path, query, fragment);      }    catch (URISyntaxException e)      {		return null;	}  }