function ChainedIterator(iterators, baseErrorHandler) {
	    var _this19;

	    _this19 = _LazyIterator12.call(this) || this;
	    _this19.baseErrorHandler = baseErrorHandler; // Strict Promise execution order:
	    // a next() call may not even begin until the previous one completes.

	    _this19.lastRead = null; // Local state that should not be clobbered by out-of-order execution.

	    _this19.iterator = null;
	    _this19.moreIterators = iterators;
	    return _this19;
	  }
Provides a `LazyIterator` that concatenates a stream of underlying
streams.

Doing this in a concurrency-safe way requires some trickery.  In
particular, we want this stream to return the elements from the
underlying streams in the correct order according to when next() was
called, even if the resulting Promises resolve in a different order.