code: public static Set<Integer> differences(BitSet s, BitSet t) {
          BitSet u = (BitSet) s.clone();
          u.xor(t);
  
          Set<Integer> differences = new TreeSet<Integer>();
  
          for (int i = u.nextSetBit(0); i >= 0; i = u.nextSetBit(i + 1)) {
              differences.add(i);
          }
  
          return differences;
      }
docs: List all differences between the two bit vectors. Unlike {@link
  #listDifferences(java.util.BitSet, java.util.BitSet)} which only list
  those which are set in <i>s</i> but not in <i>t</i>.
  
  @param s a bit vector
  @param t another bit vector
  @return all differences between <i>s</i> and <i>t</i>