docs: public int compareTo(ReadablePartial other) {
          if (this == other) {
              return 0;
          }
          if (size() != other.size()) {
              throw new ClassCastException("ReadablePartial objects must have matching field types");
          }
          for (int i = 0, isize = size(); i < isize; i++) {
              if (getFieldType(i) != other.getFieldType(i)) {
                  throw new ClassCastException("ReadablePartial objects must have matching field types");
              }
          }
          // fields are ordered largest first
          for (int i = 0, isize = size(); i < isize; i++) {
              if (getValue(i) > other.getValue(i)) {
                  return 1;
              }
              if (getValue(i) < other.getValue(i)) {
                  return -1;
              }
          }
          return 0;
      }