code: public YearMonthDay withDayOfMonth(int dayOfMonth) {
          int[] newValues = getValues();
          newValues = getChronology().dayOfMonth().set(this, DAY_OF_MONTH, newValues, dayOfMonth);
          return new YearMonthDay(this, newValues);
      }
docs: Returns a copy of this date with the day of month field updated.
  <p>
  YearMonthDay is immutable, so there are no set methods.
  Instead, this method returns a new instance with the value of
  day of month changed.
  
  @param dayOfMonth  the day of month to set
  @return a copy of this object with the field set
  @throws IllegalArgumentException if the value is invalid
  @since 1.3