code: public OffsetDateTime minusYears(long years) {
          return (years == Long.MIN_VALUE ? plusYears(Long.MAX_VALUE).plusYears(1) : plusYears(-years));
      }
docs: Returns a copy of this {@code OffsetDateTime} with the specified number of years subtracted.
  <p>
  This method subtracts the specified amount from the years field in three steps:
  <ol>
  <li>Subtract the input years from the 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, 2008-02-29 (leap year) minus one year would result in the
  invalid date 2009-02-29 (standard year). Instead of returning an invalid
  result, the last valid day of the month, 2009-02-28, is selected instead.
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param years  the years to subtract, may be negative
  @return an {@code OffsetDateTime} based on this date-time with the years subtracted, not null
  @throws DateTimeException if the result exceeds the supported date range