docs: protected void fillArray(final short[] array) {
      int pos = 0;
      if (BufferUtil.isBackedBySimpleArray(bitmap)) {
        long[] b = bitmap.array();
        int base = 0;
        for (int k = 0; k < b.length; ++k) {
          long bitset = b[k];
          while (bitset != 0) {
            array[pos++] = (short) (base + numberOfTrailingZeros(bitset));
            bitset &= (bitset - 1);
          }
          base += 64;
        }
  
      } else {
        int len = this.bitmap.limit();
        int base = 0;
        for (int k = 0; k < len; ++k) {
          long bitset = bitmap.get(k);
          while (bitset != 0) {
            array[pos++] = (short) (base + numberOfLeadingZeros(bitset));
            bitset &= (bitset - 1);
          }
          base += 64;
        }
      }
    }