public boolean offer(final Integer e) {
		if (null == e) {
			throw new NullPointerException("Null is not a valid element");
		}

		final long currentTail = getTailPlain();
		final long wrapPoint = currentTail - capacity;
		if (getHeadCache() <= wrapPoint) {
			setHeadCache(getHead());
			if (getHeadCache() <= wrapPoint) {
				return false;
			}
		}

		long offset = calcElementOffset(currentTail);
		UnsafeAccess.UNSAFE.putInt(offset, e);

		setTail(currentTail + 1);

		return true;
	}
This is to be used for an IPC queue with the direct buffer used being a memory
mapped file.

@param buff
@param capacity
@param viewMask
jctools-experimental/src/main/java/org/jctools/queues/SpscOffHeapIntQueue.java