BitSets { public static IntList toList(final BitSet bitSet) { final IntList list = new IntList(); for (int i = bitSet.nextSetBit(0); i >= 0; i = bitSet.nextSetBit(i + 1)) { list.add(i); } return list; } private  BitSets(); static boolean contains(BitSet set0, BitSet set1); static boolean contains(BitSet set0, ImmutableBitSet set1); static Iterable<Integer> toIter(final BitSet bitSet); static Iterable<Integer> toIter(final ImmutableBitSet bitSet); static IntList toList(final BitSet bitSet); static int[] toArray(final BitSet bitSet); static BitSet of(int... bits); static BitSet of(Integer[] bits); static BitSet of(Iterable<? extends Number> bits); static BitSet of(ImmutableIntList bits); static BitSet range(int fromIndex, int toIndex); static BitSet range(int toIndex); static void setAll(BitSet bitSet, Iterable<? extends Number> list); static BitSet union(BitSet set0, BitSet... sets); static int previousClearBit(BitSet bitSet, int fromIndex); static SortedMap<Integer, BitSet> closure(
      SortedMap<Integer, BitSet> equivalence); static void populate(BitSet bitSet, Iterable<? extends Number> list); static void populate(BitSet bitSet, ImmutableIntList list);  }
@Test public void testToListBitSet() { BitSet bitSet = new BitSet(10); assertEquals(BitSets.toList(bitSet), Collections.<Integer>emptyList()); bitSet.set(5); assertEquals(BitSets.toList(bitSet), Arrays.asList(5)); bitSet.set(3); assertEquals(BitSets.toList(bitSet), Arrays.asList(3, 5)); }