code: public static MonthDay randomMonthDayAfter(MonthDay after, boolean includeLeapDay) {
      checkArgument(after != null, "After must be non-null");
      checkArgument(after.isBefore(MonthDay.of(DECEMBER, 31)), "After must be before December 31st");
      int year = includeLeapDay ? LEAP_YEAR : LEAP_YEAR - 1;
      LocalDate start = after.atYear(year).plus(1, DAYS);
      LocalDate end = Year.of(year + 1).atDay(1);
      LocalDate localDate = randomLocalDate(start, end);
      return MonthDay.of(localDate.getMonth(), localDate.getDayOfMonth());
    }
docs: Returns a random {@link MonthDay} that is after the given {@link MonthDay}.
  
  @param after the value that returned {@link MonthDay} must be after
  @param includeLeapDay whether or not to include leap day
  @return the random {@link MonthDay}
  @throws IllegalArgumentException if after is null or if after is last day of year (December
  31st)