### Question:
Bitvector { public void setBit(int i) { checkElementIndex(i, size); data.set(i); } Bitvector(int size);  Bitvector(BitSet bitSet, int size);  Bitvector(Bitvector bitvector);  Bitvector(Iterable<Integer> indicesToSet, int size); List<Integer> getSetBitIndexes(); void setBit(int i); void setBits(int... indexes); void clearBit(int i); int getBitCount(); boolean getBit(int i); int getSize(); IntStream streamAllSetBits(); @SuppressWarnings("NarrowingCompoundAssignment") Bytes serialize(); static Bitvector fromBytes(Bytes bytes, int size); static int sszSerializationLength(final int size); Bitvector rightShift(int i); Bitvector copy(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void bitlistHashTest() { Bitlist bitlist = new Bitlist(2048, 2048); for (int i = 0; i < 44; i++) { bitlist.setBit(i); } Bytes32 hashOld = Bytes32.fromHexString("0x447ac4def72d4aa09ded8e1130cbe013511d4881c3393903ada630f034e985d7"); ListViewRead<BitView> bitlistView = ViewUtils.createBitlistView(bitlist); Bytes32 hashNew = bitlistView.hashTreeRoot(); Assertions.assertEquals(hashOld, hashNew); }