code: public OffsetDateTime minusMonths(long months) {
          return (months == Long.MIN_VALUE ? plusMonths(Long.MAX_VALUE).plusMonths(1) : plusMonths(-months));
      }
docs: Returns a copy of this {@code OffsetDateTime} with the specified number of months subtracted.
  <p>
  This method subtracts the specified amount from the months field in three steps:
  <ol>
  <li>Subtract the input months from the month-of-year field</li>
  <li>Check if the resulting date would be invalid</li>
  <li>Adjust the day-of-month to the last valid day if necessary</li>
  </ol>
  <p>
  For example, 2007-03-31 minus one month would result in the invalid date
  2007-04-31. Instead of returning an invalid result, the last valid day
  of the month, 2007-04-30, is selected instead.
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param months  the months to subtract, may be negative
  @return an {@code OffsetDateTime} based on this date-time with the months subtracted, not null
  @throws DateTimeException if the result exceeds the supported date range