code: @Override
      public int[] buildSuffixArray(int[] input, final int start, final int length) {
          final MinMax minmax = Tools.minmax(input, start, length);
  
          final ISymbolMapper mapper;
          if (minmax.range() > 0x10000) {
              throw new RuntimeException("Large symbol space not implemented yet.");
          }
          mapper = new DensePositiveMapper(input, start, length);
  
          mapper.map(input, start, length);
          try {
              return delegate.buildSuffixArray(input, start, length);
          } finally {
              mapper.undo(input, start, length);
          }
      }
docs: /*