private E consumeElement(long[] sBuffer, E[] eBuffer, long mask, long currIndex, long sOffset) {
            final long eOffset = calcOffset(currIndex, mask);
            final E e = lpElement(eOffset);
            spElement(eBuffer, eOffset, null);

            // Move sequence ahead by capacity, preparing it for next offer
            // (seeing this value from a consumer will lead to retry 2)
            soSequence(sBuffer, sOffset, currIndex + mask + 1);// StoreStore
            return e;
        }
{@inheritDoc}
<p>
Because return null indicates queue is empty we cannot simply rely on next element visibility for poll and
must test producer index when next element is not visible.
jctools-experimental/src/main/java/org/jctools/queues/alt/MpscArrayConcurrentQueue.java