@Override public boolean equals(Object o) { if (o == null || !(o instanceof URI)) return false; URI uri = (URI) o; if (!_scheme.equals(uri.getScheme())) return false; // FIXME improve equals if (!toString().equals(uri.toString())) return false; return true; }