A Conduit is a communication channel from a Producer to a Consumer: the channel is used to pass
a sequence of items (and possibly an exception) from the producer to the consumer. This provides a
bridge between a push pipeline and a pull pipeline, which operates by executing the push pipeline and
the pull pipeline in different threads.
Interface allowing the consumer to read an Item. The method suspends until an item
is available, or until the end of the sequence is notified by the producer, or until
an exception is notified by the producer.
the item supplied by the producer; or null to indicate that the end of the sequence
has been reached.