public Stream<T> stream() {
		SubscriberIterator<T> it = createIterator();
		source.subscribe(it);

		Spliterator<T> sp = Spliterators.spliteratorUnknownSize(it, 0);

		return StreamSupport.stream(sp, false)
		                    .onClose(it);
	}
public Stream < T > stream ( ) { SubscriberIterator < T > it = createIterator ( ) ; source . subscribe ( it ) ; Spliterator < T > sp = Spliterators . spliteratorUnknownSize ( it , 0 ) ; return StreamSupport . stream ( sp , false ) . onClose ( it ) ; }
@return a {@link Stream} of unknown size with onClose attached to {@link
Subscription#cancel()}