class ImplicitLinkedHashSet extends AbstractSet<E> {

    @Override
    final public boolean add(E newElement) {
        if (newElement == null) {
            return false;
        }
        if ((size + 1) >= elements.length / 2) {
            changeCapacity(calculateCapacity(elements.length));
        }
        int slot = addInternal(newElement, elements);
        if (slot >= 0) {
            addToListTail(head, elements, slot);
            size++;
            return true;
        }
        return false;
    }

    public  ImplicitLinkedHashSet();
    public  ImplicitLinkedHashSet(int expectedNumElements);
    public  ImplicitLinkedHashSet(Iterator<E> iter);

}