docs: protected static RangeInfo subListBorders(int size, Range range) {
          if (range instanceof IntRange) {
              return ((IntRange)range).subListBorders(size);
          }
          int from = normaliseIndex(DefaultTypeTransformation.intUnbox(range.getFrom()), size);
          int to = normaliseIndex(DefaultTypeTransformation.intUnbox(range.getTo()), size);
          boolean reverse = range.isReverse();
          if (from > to) {
              // support list[1..-1]
              int tmp = to;
              to = from;
              from = tmp;
              reverse = !reverse;
          }
          return new RangeInfo(from, to + 1, reverse);
      }