Use boolean[] not BitSet for external state

Because overhead of calling BitSet.get() & BitSet.set() is massive.