code: public static int decompressBlockByS16(int[] outDecompBlock,
                  int[] inCompBlock, int inStartOffsetInBits, int blockSize) {
                  int inOffset = (inStartOffsetInBits + 31) >>> 5;
                  int num, outOffset = 0, numLeft;
                  for (numLeft = blockSize; numLeft > 0; numLeft -= num) {
                          num = Simple16.s16Decompress(outDecompBlock, outOffset,
                                  inCompBlock, inOffset, numLeft);
                          outOffset += num;
                          inOffset++;
                  }
                  int compressedBitSize = (inOffset << 5) - inStartOffsetInBits;
                  return compressedBitSize;
          }
docs: Decompress a block of blockSize integers using Simple16 algorithm
  
  @param outDecompBlock
  the decompressed block which is the output
  @param inCompBlock
  the compressed block which is the input
  @param blockSize
  the block size
  @param inStartOffsetInBits
  the start offset in bits of the compressed block
  @return the compressed size in bits of the data that has been
  decompressed