private long detectSlowRotation(final long claimCycleId, final long nextCycleId)
    {
        final long cycleId = lvActiveCycleId();
        //Another producer has managed to perform a rotation to an higher cycleId?
        assert cycleId != nextCycleId : "Duplicate rotation!";
        if (cycleId > nextCycleId)
        {
            throw new IllegalStateException(
                "Slow rotation due to producer thread starvation detected: please enlarge the capacity or reduce the number of producers!\n" +
                    "found activeCycleId=" + cycleId + "\n" +
                    "expected activeCycleId=" + claimCycleId + "\n");
        }
        return cycleId;
    }
Given the nature of getAndAdd progress on producerPosition and given the potential risk for over claiming it is
quite possible for this method to report a queue which is not full as full.
jctools-experimental/src/main/java/org/jctools/queues/MpscRelaxedArrayQueue.java