@Override public int hashCode() { if (mHashCode != 0) { return mHashCode; } int hashCode = URIUtils.hashIgnoreCase(0, getScheme()); if (mPath == null) { hashCode = URIUtils.hash(hashCode, mSchemeSpecificPart); } else { hashCode = URIUtils.hash(hashCode, mPath); hashCode = URIUtils.hash(hashCode, mQuery); hashCode = URIUtils.hash(hashCode, mAuthority.toString()); } mHashCode = hashCode; return hashCode; } }