public static <T, C> RingBufferBuilder<T, C> withSingleProducer( Executor executor,
                                                                     ConsumerAdapter<T, C> adapter ) {
        return new RingBufferBuilder<>(executor, adapter).singleProducer();
    }
public static < T , C > RingBufferBuilder < T , C > withSingleProducer ( Executor executor , ConsumerAdapter < T , C > adapter ) { return new RingBufferBuilder < > ( executor , adapter ) . singleProducer ( ) ; }
Create a builder for ring buffers that use the supplied {@link Executor} to create consumer threads and the supplied
{@link ConsumerAdapter} to adapt to custom consumer implementations. The ring buffer will <i>only</i> allow entries to be
added from a single thread.

@param executor the executor that should be used to create threads to run {@link Consumer}s; may not be null
@param adapter the adapter to the desired consumer interface; may not be null
@return the builder for ring buffers; never null