protected void check(final int bits) {
   final BitIndex index = BitCreate.createIndex(100, bits);
   final int mask = (1 << bits) - 1;
   assertTrue(index.globalIntegrity());
   for (long i = 0; i < index.length(); i++) {
     index.set(i, mask);
   }
   for (long i = index.length() - 1; i >= 0; i -= 3) {
     index.set(i, (int) (i & mask));
   }
   for (long i = 0; i < index.length(); i++) {
     assertEquals("i=" + i, i % 3 == 0 ? i & mask : mask, index.get(i));
   }
   assertEquals(100, index.length());
   assertEquals(8L * (100 / (64 / index.getBits()) + 1), index.bytes());
   assertTrue(index.globalIntegrity());
 }