/** * Creates a new {@link ThreadedFeatureInputStreamTest} based on the given {@link FeatureInputStream}. * * @param featureInputStream * @param queueSize */ public ThreadedFeatureInputStream( final FeatureInputStream featureInputStream, final int queueSize ) { final BlockingQueue<ProducerMessage> producerQueue = new ArrayBlockingQueue<ProducerMessage>( queueSize, true ); final BlockingQueue<ConsumerMessage> consumerQueue = new ArrayBlockingQueue<ConsumerMessage>( 1, true ); iterator = new Consumer( producerQueue, consumerQueue ); service.execute( new Producer( featureInputStream, producerQueue, consumerQueue ) ); }