code: public static boolean isTimeInRange(List<String> days, String startTimeStr, String endTimeStr, DateTime currentTime) {
  
      if (!Iterables.any(days, new AreDaysEqual(DAYS_OF_WEEK.get(currentTime.getDayOfWeek())))) {
        return false;
      }
  
      DateTime startTime = null;
      DateTime endTime = null;
  
      try {
        startTime = HOUR_MINUTE_FORMATTER.withZone(DATE_TIME_ZONE).parseDateTime(startTimeStr);
      } catch (IllegalArgumentException e) {
        throw new IllegalArgumentException("startTimeStr format is invalid, must be of format " + HOUR_MINUTE_FORMAT, e);
      }
  
      try {
        endTime = HOUR_MINUTE_FORMATTER.withZone(DATE_TIME_ZONE).parseDateTime(endTimeStr);
      } catch (IllegalArgumentException e) {
        throw new IllegalArgumentException("endTimeStr format is invalid, must be of format " + HOUR_MINUTE_FORMAT, e);
      }
  
      startTime = startTime.withDate(currentTime.getYear(), currentTime.getMonthOfYear(), currentTime.getDayOfMonth());
      endTime = endTime.withDate(currentTime.getYear(), currentTime.getMonthOfYear(), currentTime.getDayOfMonth());
  
      Interval interval = new Interval(startTime.getMillis(), endTime.getMillis(), DATE_TIME_ZONE);
      return interval.contains(currentTime.getMillis());
    }
docs: Checks if a specified time is on a day that is specified the a given {@link List} of acceptable days, and that the
  hours + minutes of the specified time fall into a range defined by startTimeStr and endTimeStr.
  
  @param days is a {@link List} of days, if the specified {@link DateTime} does not have a day that falls is in this
  {@link List} then this method will return false.
  @param startTimeStr defines the start range that the currentTime can fall into. This {@link String} should be of
  the pattern defined by {@link #HOUR_MINUTE_FORMAT}.
  @param endTimeStr defines the start range that the currentTime can fall into. This {@link String} should be of
  the pattern defined by {@link #HOUR_MINUTE_FORMAT}.
  @param currentTime is a {@link DateTime} for which this method will check if it is in the given {@link List} of
  days and falls into the time range defined by startTimeStr and endTimeStr.
  
  @return true if the given time is in the defined range, false otherwise.