code: public static YearMonth randomYearMonth(YearMonth startInclusive, YearMonth endExclusive) {
      checkArgument(startInclusive != null, "Start must be non-null");
      checkArgument(endExclusive != null, "End must be non-null");
      LocalDate start = startInclusive.atDay(1);
      LocalDate end = endExclusive.atDay(1);
      LocalDate localDate = randomLocalDate(start, end);
      return YearMonth.of(localDate.getYear(), localDate.getMonth());
    }
docs: Returns a random {@link YearMonth} within the specified range.
  
  @param startInclusive the earliest {@link YearMonth} that can be returned
  @param endExclusive the upper bound (not included)
  @return the random {@link YearMonth}
  @throws IllegalArgumentException if startInclusive or endExclusive are null or if endExclusive
  is earlier than startInclusive