code: @Override
      ChronoInterval<T> newInterval(
          Boundary<T> start,
          Boundary<T> end
      ) {
  
          SimpleInterval.Factory<T> factory =  SimpleInterval.on(this.timeLine);
  
          if (start.isInfinite()) {
              T e = end.getTemporal();
              if (e != null) {
                  if (this.timeLine.isCalendrical()) {
                      if (end.isOpen()) {
                          e = this.timeLine.stepBackwards(e);
                      }
                  } else if (end.isClosed()) {
                      e = this.timeLine.stepForward(e);
                  }
              }
              if (e == null) {
                  return new SimpleInterval<>(start, Boundary.infiniteFuture(), this.timeLine);
              } else {
                  return factory.until(e);
              }
          } else if (end.isInfinite()) {
              T s = start.getTemporal();
              if (start.isOpen()) {
                  s = this.timeLine.stepForward(s);
              }
              return factory.since(s);
          } else {
              T s = start.getTemporal();
              if (start.isOpen()) {
                  s = this.timeLine.stepForward(s);
              }
              T e = end.getTemporal();
              if (this.timeLine.isCalendrical()) {
                  if (end.isOpen()) {
                      e = this.timeLine.stepBackwards(e);
                  }
              } else if (end.isClosed()) {
                  e = this.timeLine.stepForward(e);
              }
              return factory.between(s, e);
          }
  
      }
docs: ~ Methoden ----------------------------------------------------------