docs: public static <DR extends DateRange<DT>, DT> DR findDateRangeSorted(
              ReadableInstant instant, List<DR> dateRanges) {
          if (dateRanges.isEmpty()) {
              return null;
          }
  
          if (!(dateRanges instanceof RandomAccess)) {
              // Not random access not much use doing a binary search
              return findDateRange(instant, dateRanges);
          }
  
          int low = 0;
          int high = dateRanges.size() - 1;
  
          while (low <= high) {
              int mid = (low + high) >>> 1;
              final DR dateRange = dateRanges.get(mid);
              final int cmp = dateRange.compareTo(instant);
  
              if (cmp == -1) low = mid + 1;
              else if (cmp == 1) high = mid - 1;
              else return dateRange;
          }
  
          return null;
      }