docs: static void bitRotateCW(final byte[] pSrc, int pSrcPos, int pSrcStep,
                              final byte[] pDst, int pDstPos, int pDstStep) {
          int idx = pSrcPos;
  
          int lonyb;
          int hinyb;
          long lo = 0;
          long hi = 0;
  
          for (int i = 0; i < 8; i++) {
              lonyb = pSrc[idx] & 0xF;
              hinyb = (pSrc[idx] >> 4) & 0xF;
              lo |= RTABLE[i][lonyb];
              hi |= RTABLE[i][hinyb];
              idx += pSrcStep;
          }
  
          idx = pDstPos;
  
          pDst[idx] = (byte)((hi >> 24) & 0xFF);
          idx += pDstStep;
          if (idx < pDst.length) {
              pDst[idx] = (byte)((hi >> 16) & 0xFF);
              idx += pDstStep;
              if (idx < pDst.length) {
                  pDst[idx] = (byte)((hi >> 8) & 0xFF);
                  idx += pDstStep;
                  if (idx < pDst.length) {
                      pDst[idx] = (byte)(hi & 0xFF);
                      idx += pDstStep;
                  }
              }
          }
  
          if (idx < pDst.length) {
              pDst[idx] = (byte)((lo >> 24) & 0xFF);
              idx += pDstStep;
              if (idx < pDst.length) {
                  pDst[idx] = (byte)((lo >> 16) & 0xFF);
                  idx += pDstStep;
                  if (idx < pDst.length) {
                      pDst[idx] = (byte)((lo >> 8) & 0xFF);
                      idx += pDstStep;
                      if (idx < pDst.length) {
                          pDst[idx] = (byte)(lo & 0xFF);
                      }
                  }
              }
          }
      }