code: public static LocalTime of(int hour, int minute, int second, int nanoOfSecond) {
          HOUR_OF_DAY.checkValidValue(hour);
          MINUTE_OF_HOUR.checkValidValue(minute);
          SECOND_OF_MINUTE.checkValidValue(second);
          NANO_OF_SECOND.checkValidValue(nanoOfSecond);
          return create(hour, minute, second, nanoOfSecond);
      }
docs: Obtains an instance of {@code LocalTime} from an hour, minute, second and nanosecond.
  <p>
  This returns a {@code LocalTime} with the specified hour, minute, second and nanosecond.
  
  @param hour  the hour-of-day to represent, from 0 to 23
  @param minute  the minute-of-hour to represent, from 0 to 59
  @param second  the second-of-minute to represent, from 0 to 59
  @param nanoOfSecond  the nano-of-second to represent, from 0 to 999,999,999
  @return the local time, not null
  @throws DateTimeException if the value of any field is out of range