code: long yearsUntil(PaxDate end) {
          // If either date is after the inserted leap month, and the other year isn't leap, simulate the effect of the inserted month.
          long startYear = getProlepticYear() * 512L + getDayOfYear() + (this.month == MONTHS_IN_YEAR && !this.isLeapYear() && end.isLeapYear() ? DAYS_IN_WEEK : 0);
          long endYear = end.getProlepticYear() * 512L + end.getDayOfYear() + (end.month == MONTHS_IN_YEAR && !end.isLeapYear() && this.isLeapYear() ? DAYS_IN_WEEK : 0);
          return (endYear - startYear) / 512L;
      }
docs: Get the number of years from this date to the given day.
  
  @param end The end date.
  @return The number of years from this date to the given day.