public int nextSetBit(int index) {
        int i = index >> 6;
        if (i >= wlen) return -1;
        int subIndex = index & 0x3f; // index within the word
        long word = word(i) >> subIndex; // skip all the bits to the right of index

        if (word != 0) {
            return (i << 6) + subIndex + Long.numberOfTrailingZeros(word);
        }

        while (++i < wlen) {
            word = word(i);
            if (word != 0) return (i << 6) + Long.numberOfTrailingZeros(word);
        }

        return -1;
    }
@param index The index to start scanning from, inclusive.
@return Returns the index of the first set bit starting at the index specified. -1 is
returned if there are no more set bits.
indexr-common/src/main/java/io/indexr/util/DirectBitMap.java