code: protected static final int s16Decompress(int[] out, int outOffset,
                  int[] in, int inOffset, int n) {
                  int numIdx, j = 0, bits = 0;
                  numIdx = in[inOffset] >>> S16_BITSSIZE;
                  int num = S16_NUM[numIdx] < n ? S16_NUM[numIdx] : n;
                  for (j = 0, bits = 0; j < num; j++) {
                          out[outOffset + j] = readBitsForS16(in, inOffset, bits,
                                  S16_BITS[numIdx][j]);
                          bits += S16_BITS[numIdx][j];
                  }
                  return num;
          }
docs: Decompress an integer array using Simple16
  
  @param out
  the decompressed output
  @param outOffset
  the offset of the output in the number of integers
  @param in
  the compressed input array
  @param inOffset
  the offset of the input in the number of integers
  @param n
  the number of elements to be compressed
  @return the number of processed integers