@Override
    public Iterator<E> iterator()
    {
        throw new UnsupportedOperationException();
    }
Note on terminology:
 - position/id: overall progress indicator, not an array index or offset at which to lookup/write.
 - index: for looking up within an array (including the inlined producerCycleClaim array)
 - offset: for pointer like access using Unsafe

The producer in this queue operates on cycleId and the producerCycleClaim array:
 - The cycleId grow monotonically, and the parity bit (cycleIndex) indicated which claim to use
 - The producerCycleClaim indicate position in a cycle as well as the originating cycleId. From a claim we can
   calculate the producer overall position as well as the position within a cycle.

The buffer is split into 2 cycles (matching cycleIndex 0 and 1), allowing the above indicators to control
producer progress on separate counters while maintaining the appearance of a contiguous buffer to the consumer.
jctools-experimental/src/main/java/org/jctools/queues/MpscRelaxedArrayQueue.java