code: public boolean flip(int bitIndex)
      {
          int wordIndex = wordIndex(bitIndex);
          words[wordIndex] ^= (1L << bitIndex);
          
          return ((words[wordIndex] & (1L << bitIndex)) != 0);
      }
docs: Sets the bit at the specified index to the complement of its
  current value.
  @param   bitIndex the index of the bit to flip
  @return true if the bit was set to, false if it was unset