code: public Interval<C> ahead() {
          if(this.hasNone()) {
              return new Interval(this.dimension, Range.all());
          }
          if(this.range.equals(Range.all())) {
              return new Interval(this.dimension);
          }
          return new Interval(this.dimension,
                              Range.downTo(this.range.upperEndpoint(),
                              reverse(this.range.upperBoundType())));
      }
docs: Find the interval that extends ahead of this one.
  @return interval with lower endpoint equal to this upper endpoint and
  upper endpoint equal to infinity
  @see #behind()