code: public int compareTo(ReadableDuration other) {
          long thisMillis = this.getMillis();
          long otherMillis = other.getMillis();
          
          // cannot do (thisMillis - otherMillis) as it can overflow
          if (thisMillis < otherMillis) {
              return -1;
          }
          if (thisMillis > otherMillis) {
              return 1;
          }
          return 0;
      }
docs: Compares this duration with the specified duration based on length and direction.
  <p>
  The comparison takes into account the sign.
  As such, a duration of 5 seconds is longer than a duration of <i>minus</i> 7 seconds.
  
  @param other  a duration to check against
  @return negative value if this is less, 0 if equal, or positive value if greater
  @throws NullPointerException if the object is null
  @throws ClassCastException if the given object is not supported