code: @Override
    public void flip(int element)
    {
      if (element < 0) {
        throw new IndexOutOfBoundsException("element < 0: " + element);
      }
      modCount++;
      int index = findElementOrRemoved(element);
      if (index >= 0) {
        // REMOVE
        if (cells[index] == element) {
          cells[index] = REMOVED;
          size--;
          return;
        }
        freecells--;
      } else {
        index = -(index + 1);
      }
  
      // ADD
      cells[index] = element;
      size++;
  
      // do we need to rehash?
      if (1 - ((double) freecells / cells.length) > LOAD_FACTOR) {
        rehash();
      }
    }
docs: {@inheritDoc}