_[Original issue](https://code.google.com/p/guava-libraries/issues/detail?id=1813) created by **j...@nwsnet.de** on 2014-07-23 at 03:21 PM_

---

I didn't find information on the immutability of `Range`&nbsp;instances in the JavaDocs [1]; only the wiki page [2] explicitly states it.

I suggest documenting the immutability directly in the JavaDocs, and thus in the implementation itself.

[1] https://google.github.io/guava/apidocs/com/google/common/collect/Range.html
[2] https://code.google.com/p/guava-libraries/wiki/RangesExplained

(Slightly unrelated: The comments disappeared from the wiki, especially helpful ones which I remembered to be on the page on ranges are gone. I'd like to state that I don't welcome that change.)

static final LowerBoundFn INSTANCE = new LowerBoundFn();
    @Override
    public Cut apply(Range range) {
      return range.lowerBound;
    }
  }
  static class UpperBoundFn implements Function<Range, Cut> {
    static final UpperBoundFn INSTANCE = new UpperBoundFn();
    @Override
    public Cut apply(Range range) {
      return range.upperBound;
    }
  }
  @SuppressWarnings("unchecked")
  static <C extends Comparable<?>> Function<Range<C>, Cut<C>> lowerBoundFn() {
    return (Function) LowerBoundFn.INSTANCE;
  }
  @SuppressWarnings("unchecked")
  static <C extends Comparable<?>> Function<Range<C>, Cut<C>> upperBoundFn() {
    return (Function) UpperBoundFn.INSTANCE;
  }
  static <C extends Comparable<?>> Ordering<Range<C>> rangeLexOrdering() {
    return (Ordering<Range<C>>) (Ordering) RangeLexOrdering.INSTANCE;
  }
  static <C extends Comparable<?>> Range<C> create(Cut<C> lowerBound, Cut<C> upperBound) {
    return new Range<C>(lowerBound, upperBound);
  }
  /**
   * Returns a range that contains all values strictly greater than {@code lower} and strictly less