code: @Override
      public int compareTo(Object obj) throws ClassCastException {
  
          URI another = (URI) obj;
          if (!equals(_authority, another.getRawAuthority())) { 
              return -1;
          }
          return toString().compareTo(another.toString());
      }
docs: Compare this URI to another object.
  
  @param obj the object to be compared.
  @return 0, if it's same,
  -1, if failed, first being compared with in the authority component
  @throws ClassCastException not URI argument