class FastEnumSet extends FastEnumBase<T> implements RunnerLoop<T>, Set<T>, BitSetLong {

	@Override
	public boolean add(final T item) {

		final long mask = item.mask();

		long bitSet = this.bitSet;

		final boolean wasEmpty = (bitSet & mask) == NUL;

		bitSet |= mask;

		this.bitSet = bitSet;

		// System.out.println("bitSet and Mas are = " + wasEmpty);
		return wasEmpty;

	}

	protected  FastEnumSet(final T[] values);
	protected  FastEnumSet(final T[] values, final long bitSet);
	protected  FastEnumSet(final T[] values, final FastEnumSet<T> enumSet);
	protected  FastEnumSet(final T[] values, final T... items);

}