code: @Override
      public int compareTo(OffsetDateTime other) {
          int cmp = compareInstant(this, other);
          if (cmp == 0) {
              cmp = toLocalDateTime().compareTo(other.toLocalDateTime());
          }
          return cmp;
      }
docs: Compares this date-time to another date-time.
  <p>
  The comparison is based on the instant then on the local date-time.
  It is "consistent with equals", as defined by {@link Comparable}.
  <p>
  For example, the following is the comparator order:
  <ol>
  <li>{@code 2008-12-03T10:30+01:00}</li>
  <li>{@code 2008-12-03T11:00+01:00}</li>
  <li>{@code 2008-12-03T12:00+02:00}</li>
  <li>{@code 2008-12-03T11:30+01:00}</li>
  <li>{@code 2008-12-03T12:00+01:00}</li>
  <li>{@code 2008-12-03T12:30+01:00}</li>
  </ol>
  Values #2 and #3 represent the same instant on the time-line.
  When two values represent the same instant, the local date-time is compared
  to distinguish them. This step is needed to make the ordering
  consistent with {@code equals()}.
  
  @param other  the other date-time to compare to, not null
  @return the comparator value, negative if less, positive if greater