alternative IteratorPublisher

ok, I'll add a IllegalState check