16 is just the initial size; it has no impact on the values stored in the BitSet.
What do you mean by "how is it manipulated"? You manipulate a BitSet by calling its set, clear, flip, and, or and xor methods, like your code is doing.
Note that the and, or and xor calls change the BitSet they're applied to - bits2 in this case. And since after the "or" call both sets are identical, the xor call will produce an empty set.
Initial pattern in bits2: {1,2,3,4,5,6,7,8,9,11,12,13,14}
That's very strange, by the way. How did the 5 get in there?