code: private void validateSlowProducerOverClaim(final int activeCycleIndex, final long producerCycleClaim)
      {
          //the cycle claim is now ok?
          final long producerPosition = producerPositionFromClaim(
              producerCycleClaim,
              positionWithinCycleMask,
              cycleIdBitShift,
              cycleLengthLog2);
          if (isFull(producerPosition))
          {
              //a definitive fail could be declared only if the claim is trying to overwrite something not consumed yet:
              //isFull is not considering the real occupation of the slot
              final long consumerPosition = lvConsumerPosition();
              final long effectiveProducerLimit = consumerPosition + (this.cycleLength * 2);
              if (producerPosition >= effectiveProducerLimit)
              {
                  throw new IllegalStateException(
                      "The producer has fallen behind: please enlarge the capacity or reduce the number of producers! \n" +
                          " producerPosition=" + producerPosition + "\n" +
                          " consumerPosition=" + consumerPosition + "\n" +
                          " activeCycleIndex=" + activeCycleIndex + "\n" +
                          " cycleId=" + producerClaimCycleId(producerCycleClaim, cycleIdBitShift) + "\n" +
                          " positionOnCycle=" + positionWithinCycle(producerCycleClaim, positionWithinCycleMask));
              }
              //the slot is not occupied: we can write into it
          }
          //the claim now is ok: consumers have gone forward enough
      }
docs: Validates a slow producer over-claim throwing {@link IllegalStateException} if the offer on it can't continue.