</BUG>
}
final int pos = Integer.bitCount(bmp & (flag - 1));
final BasicNode sub = cn.array[pos];
<BUG>Option<V> res = null;
</BUG>
if (sub instanceof INode) {
final INode<K, V> in = (INode<K, V>) sub;
if (startgen == in.gen) {
res = in.rec_remove(k, v, hc, lev + 5, this, startgen, ct);

final CNode<K, V> cn = (CNode<K, V>) m;
final int idx = (hc >>> lev) & 0x1f;
final int bmp = cn.bitmap;
final int flag = 1 << idx;
if ((bmp & flag) == 0) {
return Optional.empty();
}
final int pos = Integer.bitCount(bmp & (flag - 1));
final BasicNode sub = cn.array[pos];
Optional<V> res = null;
if (sub instanceof INode) {
final INode<K, V> in = (INode<K, V>) sub;
if (startgen == in.gen) {
res = in.rec_remove(k, v, hc, lev + 5, this, startgen, ct);
