else if (sym.isRoot() || sym.isClass() || sym.isModule() || sym.isPackage())
else if (sym.isRoot() || sym.isClass() || sym.isModule() || sym.isPackage() || sym.isPackageClass())
    static public URI getURI(Symbol sym) {	if (uris.get(sym) == null) {	    URI uri;	    try {		if (sym.isModuleClass())		    uri = getURI(sym.module());		else if (sym.isRoot() || sym.isClass() || sym.isModule() || sym.isPackage())		    uri = new URI(getPath(sym).toString() + HTML_SUFFIX);		else if (sym.isParameter())		    uri = getURI(sym.classOwner());		else		    uri = new URI(getURI(sym.owner()).toString() + "#" + nextFreeId(sym.owner()));		uris.put(sym, uri);	    } catch(Exception e) { throw Debug.abort(sym.defString()); }	}	return (URI) uris.get(sym);    }