docs: public int compareTo(Timestamp t)
      {
          // Test at millisecond precision first.
          long this_millis = this.getMillis();
          long arg_millis = t.getMillis();
          if (this_millis != arg_millis) {
              return (this_millis < arg_millis) ? -1 : 1;
          }
  
          // Values are equivalent at millisecond precision, so compare fraction
  
          BigDecimal this_fraction =
              ((this._fraction == null) ? BigDecimal.ZERO : this._fraction);
          BigDecimal arg_fraction =
              (( t._fraction == null) ? BigDecimal.ZERO :  t._fraction);
          return this_fraction.compareTo(arg_fraction);
      }