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