docs: public static <C extends Comparable<?>> Range<C> encloseAll(Iterable<C> values) {
      checkNotNull(values);
      if (values instanceof ContiguousSet) {
        return ((ContiguousSet<C>) values).range();
      }
      Iterator<C> valueIterator = values.iterator();
      C min = checkNotNull(valueIterator.next());
      C max = min;
      while (valueIterator.hasNext()) {
        C value = checkNotNull(valueIterator.next());
        min = Ordering.natural().min(min, value);
        max = Ordering.natural().max(max, value);
      }
      return closed(min, max);
    }