public static int indexBitLength(int numberOfBuckets)
    {
        Preconditions.checkArgument(isPowerOf2(numberOfBuckets), "numberOfBuckets must be a power of 2, actual: %s", numberOfBuckets);
        // 2**N has N trailing zeros, and we've asserted numberOfBuckets == 2**N
        return Integer.numberOfTrailingZeros(numberOfBuckets);
    }
@Test
    public void testIndexBitLength()
    {
        for (int i = 1; i < 20; i++) {
            assertEquals(SfmSketch.indexBitLength((int) Math.pow(2, i)), i);
        }
    }