in algebird-core/src/main/scala/com/twitter/algebird/immutable/BitSet.scala [1000:1022]
def --(rhs: BitSet): BitSet =
rhs match {
case Leaf(o, values2) =>
if (o != offset) {
this
} else {
val vs = new Array[Long](32)
var i = 0
while (i < 32) {
vs(i) = values(i) & (~values2(i))
i += 1
}
Leaf(offset, vs)
}
case b @ Branch(_, _, _) =>
val j = b.index(offset)
if (0 <= j && j < 32) {
val c = b.children(j)
if (c == null) this else this -- c
} else {
this
}
}