@Override
    public int compareTo(UriPattern rhs) {
        int cmp;
        cmp = scheme.compareTo(rhs.scheme);
        if (cmp != 0) {
            return cmp;
        }
        cmp = host.compareTo(rhs.host);
        if (cmp != 0) {
            return cmp;
        }
        cmp = path.compareTo(rhs.path);
        if (cmp != 0) {
            return cmp;
        }
        cmp = rhs.port - port;
        if (cmp != 0) {
            return cmp;
        }
        return 0;
    }
<p>Attempts to match the given {@link URI} to this pattern. Note that only the scheme, host, port, and path
components of the URI are used, <em>and these must all be defined</em>. Only <em>absolute</em> URIs are supported.
Any user info, query or fragment part is ignored.</p>

@param uri The URI to match.
@return A {@link Match} object describing the match found, or null if not found.
jdisc_core/src/main/java/com/yahoo/jdisc/application/UriPattern.java