static <E> RingBuffer<E> createSingleProducer(Supplier<E> factory,
			int bufferSize,
			WaitStrategy waitStrategy) {
    """
	Create a new single producer RingBuffer with the specified wait strategy.
	<p>See {@code MultiProducerRingBuffer}.
	@param <E> the element type
	@param factory used to create the events within the ring buffer.
	@param bufferSize number of elements to create within the ring buffer.
	@param waitStrategy used to determine how to wait for new elements to become available.
	@return the new RingBuffer instance
    """
		return createSingleProducer(factory, bufferSize, waitStrategy, null);
	}
static <E> RingBuffer<E> createSingleProducer(Supplier<E> factory,
			int bufferSize,
			WaitStrategy waitStrategy) {
		return createSingleProducer(factory, bufferSize, waitStrategy, null);
	}
static < E > RingBuffer < E > createSingleProducer ( Supplier < E > factory , int bufferSize , WaitStrategy waitStrategy ) { return createSingleProducer ( factory , bufferSize , waitStrategy , null ) ; }
Create a new single producer RingBuffer with the specified wait strategy.
<p>See {@code MultiProducerRingBuffer}.
@param <E> the element type
@param factory used to create the events within the ring buffer.
@param bufferSize number of elements to create within the ring buffer.
@param waitStrategy used to determine how to wait for new elements to become available.
@return the new RingBuffer instance
Create a new single producer RingBuffer with the specified wait strategy . <p > See {