code: public static Months between(Temporal startDateInclusive, Temporal endDateExclusive) {
          return of(Math.toIntExact(MONTHS.between(startDateInclusive, endDateExclusive)));
      }
docs: Obtains a {@code Months} consisting of the number of months between two dates.
  <p>
  The start date is included, but the end date is not.
  The result of this method can be negative if the end is before the start.
  
  @param startDateInclusive  the start date, inclusive, not null
  @param endDateExclusive  the end date, exclusive, not null
  @return the number of months between this date and the end date, not null