code: public IntStream getAllOccurrencesAsRanges() {
          IntStream result = IntStream.empty();
          // with/or without end
          for (int i = start; i < end; i++) {
              // every i is one occurrence
              int token_position = tokenIndex.suffix_array[i];
              IntStream range = IntStream.range(token_position, token_position + length);
              result = IntStream.concat(result, range);
          }
          return result;
      }
docs: transform lcp interval into int stream range