code: public static LocalTime randomLocalTimeBefore(LocalTime before) {
      checkArgument(before != null, "Before must be non-null");
      checkArgument(before.isAfter(LocalTime.MIN), "Before must be after %s", LocalTime.MIN);
      long nanoOfDay = randomBefore(NANO_OF_DAY, before.toNanoOfDay());
      return LocalTime.ofNanoOfDay(nanoOfDay);
    }
docs: Returns a random {@link LocalTime} that is before the given {@link LocalTime}.
  
  @param before the value that returned {@link LocalTime} must be before
  @return the random {@link LocalTime}
  @throws IllegalArgumentException if before is null or if before is after {@link LocalTime#MIN}