docs: @Override
    public int compareTo(@Nonnull B other) {
      int length = Math.min(this.getSegments().size(), other.getSegments().size());
      for (int i = 0; i < length; i++) {
        int cmp = this.getSegments().get(i).compareTo(other.getSegments().get(i));
        if (cmp != 0) {
          return cmp;
        }
      }
      return Integer.compare(this.getSegments().size(), other.getSegments().size());
    }