@Override
  public boolean remove(int bitIndex) {
    if (bitIndex < bitIndexBase || bitIndexBase < 0) return false;
    if (!contains(bitIndex)) return false;
    --bitsSet;
    bitIndex -= bitIndexBase;
    int wordIndex = bitIndex >> SHIFT;
    bitSlots[wordIndex] &= ~(1L << (bitIndex & MASK));
    if (wordIndex == maxNonZeroSlotIndex) {
      while (maxNonZeroSlotIndex >= 0 && bitSlots[maxNonZeroSlotIndex] == 0) --maxNonZeroSlotIndex;
    }
    return true;
  }
@Override
  public boolean remove(int bitIndex)