if (ci > 1 && isLowercaseAscii(href.substring(0, ci)))
if (ci > 1 && isURLScheme(href.substring(0, ci)))
  static String absolutize(String base, String href)  {    if (href == null)      return null;    int ci = href.indexOf(':');    if (ci > 1 && isLowercaseAscii(href.substring(0, ci)))      {        // href is absolute already        return href;      }    if (base == null)      base = "";    else      {        int i = base.lastIndexOf('/');        if (i != -1)          base = base.substring(0, i + 1);        else          base = "";      }    if ("".equals(base))      {        // assume file URL relative to current directory        base = System.getProperty("user.dir");        if (base.charAt(0) == '/')          base = base.substring(1);        base = "file:///" + base.replace(File.separatorChar, '/');        if (!base.endsWith("/"))          base += "/";      }    if (href.startsWith("/"))      {        if (base.startsWith("file:"))          return "file://" + href;        int i = base.indexOf("://");        if (i != -1)          {            i = base.indexOf('/', i + 3);            if (i != -1)              base = base.substring(0, i);          }      }    else      {        while (href.startsWith(".."))          {            int i = base.lastIndexOf('/', base.length() - 2);            if (i != -1)              base = base.substring(0, i + 1);            href = href.substring(2);            if (href.startsWith("/"))              href = href.substring(1);          }      }    return base + href;  }