code: protected E standardFloor(E e) {
      return Iterators.getNext(headSet(e, true).descendingIterator(), null);
    }
docs: A sensible definition of {@link #floor} in terms of the {@code descendingIterator} method of
  {@link #headSet(Object, boolean)}. If you override {@link #headSet(Object, boolean)}, you may
  wish to override {@link #floor} to forward to this implementation.