src/main/java/io/reactivex/internal/util/QueueDrainHelper.java
public static <T> SimpleQueue<T> createQueue(int capacityHint) {
        if (capacityHint < 0) {
            return new SpscLinkedArrayQueue<T>(-capacityHint);
        }
        return new SpscArrayQueue<T>(capacityHint);
    }
public static <T> SimpleQueue<T> createQueue(int capacityHint) {
        if (capacityHint < 0) {
            return new SpscLinkedArrayQueue<T>(-capacityHint);
        }
        return new SpscArrayQueue<T>(capacityHint);
    }
public static < T > SimpleQueue < T > createQueue ( int capacityHint ) { if ( capacityHint < 0 ) { return new SpscLinkedArrayQueue < T > ( - capacityHint ) ; } return new SpscArrayQueue < T > ( capacityHint ) ; }
Creates a queue: spsc-array if capacityHint is positive and
spsc-linked-array if capacityHint is negative; in both cases, the
capacity is the absolute value of prefetch.
@param <T> the value type of the queue
@param capacityHint the capacity hint, negative value will create an array-based SPSC queue
@return the queue instance
Creates a queue : spsc - array if capacityHint is positive and spsc - linked - array if capacityHint is negative ; in both cases the capacity is the absolute value of prefetch .