code: private int computeDiffDepthBucket_SaBucket(int leftPtr, int rightPtr, int offset,
                                                  int q) {
          int lcp = offset;
          while (true) {
              int runPtr = leftPtr;
              int a = suffixArray[rightPtr];
              int tmpPtr = sufPtrMap[a + lcp];
              while (runPtr < rightPtr) {
                  if (sufPtrMap[suffixArray[runPtr] + lcp] != tmpPtr) {
                      return lcp;
                  }
                  runPtr++;
              }
              lcp += q;
          }
      }
docs: Computes about the LCP of all suffixes in this bucket. It will be the newoffset.
  
  @param leftPtr  points to the leftmost suffix of the current bucket.
  @param rightPtr points to the rightmost suffix of the current bucket.
  @param offset   is the length of the common prefix of the suffixes rounded down to a
  multiple of q.
  @param q        is the initial prefix length used for the bucket sort. It also determines
  the increase of offset.
  @return the LCP of suffixes in this bucket (newoffset).