&& ((query == null && uObj.query == null) || (query != null && query.equals(uObj.query)))
  public boolean equals(Object obj)  {    if (obj == null || ! (obj instanceof URL))      return false;    URL uObj = (URL) obj;        // This comparison is very conservative.  It assumes that any    // field can be null.    return (port == uObj.port	    && ((protocol == null && uObj.protocol == null)		|| (protocol != null && protocol.equals(uObj.protocol)))	    && ((host == null && uObj.host == null)		|| (host != null && host.equals(uObj.host)))	    && ((file == null && uObj.file == null)		|| (file != null && file.equals(uObj.file)))	    && ((ref == null && uObj.ref == null)		|| (ref != null && ref.equals(uObj.ref))));  }